fix leak of w->dir in new() when dir != nil Reference: /n/atom/patch/applied2013/riodirleak Date: Wed Dec 4 23:09:42 CET 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/rio/rio.c Wed Dec 4 23:09:07 2013 +++ /sys/src/cmd/rio/rio.c Wed Dec 4 23:09:07 2013 @@ -1184,8 +1184,10 @@ } wsetpid(w, pid, 1); wsetname(w); - if(dir) + if(dir != nil){ + free(w->dir); w->dir = estrdup(dir); + } chanfree(cpid); return w; } --- /sys/src/cmd/rio/util.c Wed Dec 4 23:09:07 2013 +++ /sys/src/cmd/rio/util.c Wed Dec 4 23:09:07 2013 @@ -82,6 +82,7 @@ if(p == nil) error("strdup failed"); strcpy(p, s); + setmalloctag(p, getcallerpc(&s)); return p; }