summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-04-30 11:48:30 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-04-30 11:48:30 +0200
commit748bdc13b2697e3e86c5955d2eb39e1f7c40f93e (patch)
treebd25aa38aad5912b1898449155cdbb9deaeaeb76 /sys
parenta124609b6e7ad036c53360623b5fdefba58fe4b4 (diff)
faces: fix memory leaks
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/faces/facedb.c14
-rw-r--r--sys/src/cmd/faces/util.c3
2 files changed, 14 insertions, 3 deletions
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; i<n; i++){
if((d[i].mode&DMDIR)
@@ -288,6 +290,7 @@ tryfindfiledir(char *dom, char *user, char *dir)
free(dom);
return x;
}
+ free(ndir);
}
}
free(d);
@@ -340,8 +343,12 @@ findfile(Face *f, char *dom, char *user)
}
if(dom == nil)
dom = facedom;
- if(homeface == nil)
- homeface = smprint("%s/lib/face", getenv("home"));
+ if(homeface == nil){
+ if((p = getenv("home")) != nil){
+ homeface = smprint("%s/lib/face", p);
+ free(p);
+ }
+ }
f->unknown = 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;
}