From 748bdc13b2697e3e86c5955d2eb39e1f7c40f93e Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 30 Apr 2012 11:48:30 +0200 Subject: faces: fix memory leaks --- sys/src/cmd/faces/facedb.c | 14 +++++++++++--- sys/src/cmd/faces/util.c | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'sys/src') diff --git a/sys/src/cmd/faces/facedb.c b/sys/src/cmd/faces/facedb.c index 8cbb1a79d..380670fbf 100644 --- a/sys/src/cmd/faces/facedb.c +++ b/sys/src/cmd/faces/facedb.c @@ -270,8 +270,10 @@ tryfindfiledir(char *dom, char *user, char *dir) * Ignore 512x512 directories. * Save 48x48 directories for later. */ - if((fd = open(dir, OREAD)) < 0) + if((fd = open(dir, OREAD)) < 0){ + free(dom); return nil; + } while((n = dirread(fd, &d)) > 0){ for(i=0; iunknown = 0; if((p = tryfindfile(dom, user)) != nil) @@ -575,4 +582,5 @@ findbit(Face *f) replclipr(f->bit, 1, Rect(0, 0, Facesize, Facesize)); f->mask = nil; } + free(fn); } diff --git a/sys/src/cmd/faces/util.c b/sys/src/cmd/faces/util.c index 2f4f17ea8..bde1ef30c 100644 --- a/sys/src/cmd/faces/util.c +++ b/sys/src/cmd/faces/util.c @@ -14,6 +14,7 @@ emalloc(ulong sz) exits("mem"); } memset(v, 0, sz); + setmalloctag(v, getcallerpc(&sz)); return v; } @@ -25,6 +26,7 @@ erealloc(void *v, ulong sz) fprint(2, "out of memory allocating %ld\n", sz); exits("mem"); } + setrealloctag(v, getcallerpc(&sz)); return v; } @@ -36,6 +38,7 @@ estrdup(char *s) fprint(2, "out of memory in strdup(%.10s)\n", s); exits("mem"); } + setmalloctag(t, getcallerpc(&s)); return t; } -- cgit v1.2.3