faces: fix memory leaks
This commit is contained in:
parent
a124609b6e
commit
748bdc13b2
2 changed files with 14 additions and 3 deletions
|
@ -270,8 +270,10 @@ tryfindfiledir(char *dom, char *user, char *dir)
|
||||||
* Ignore 512x512 directories.
|
* Ignore 512x512 directories.
|
||||||
* Save 48x48 directories for later.
|
* Save 48x48 directories for later.
|
||||||
*/
|
*/
|
||||||
if((fd = open(dir, OREAD)) < 0)
|
if((fd = open(dir, OREAD)) < 0){
|
||||||
|
free(dom);
|
||||||
return nil;
|
return nil;
|
||||||
|
}
|
||||||
while((n = dirread(fd, &d)) > 0){
|
while((n = dirread(fd, &d)) > 0){
|
||||||
for(i=0; i<n; i++){
|
for(i=0; i<n; i++){
|
||||||
if((d[i].mode&DMDIR)
|
if((d[i].mode&DMDIR)
|
||||||
|
@ -288,6 +290,7 @@ tryfindfiledir(char *dom, char *user, char *dir)
|
||||||
free(dom);
|
free(dom);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
free(ndir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(d);
|
free(d);
|
||||||
|
@ -340,8 +343,12 @@ findfile(Face *f, char *dom, char *user)
|
||||||
}
|
}
|
||||||
if(dom == nil)
|
if(dom == nil)
|
||||||
dom = facedom;
|
dom = facedom;
|
||||||
if(homeface == nil)
|
if(homeface == nil){
|
||||||
homeface = smprint("%s/lib/face", getenv("home"));
|
if((p = getenv("home")) != nil){
|
||||||
|
homeface = smprint("%s/lib/face", p);
|
||||||
|
free(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
f->unknown = 0;
|
f->unknown = 0;
|
||||||
if((p = tryfindfile(dom, user)) != nil)
|
if((p = tryfindfile(dom, user)) != nil)
|
||||||
|
@ -575,4 +582,5 @@ findbit(Face *f)
|
||||||
replclipr(f->bit, 1, Rect(0, 0, Facesize, Facesize));
|
replclipr(f->bit, 1, Rect(0, 0, Facesize, Facesize));
|
||||||
f->mask = nil;
|
f->mask = nil;
|
||||||
}
|
}
|
||||||
|
free(fn);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ emalloc(ulong sz)
|
||||||
exits("mem");
|
exits("mem");
|
||||||
}
|
}
|
||||||
memset(v, 0, sz);
|
memset(v, 0, sz);
|
||||||
|
setmalloctag(v, getcallerpc(&sz));
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +26,7 @@ erealloc(void *v, ulong sz)
|
||||||
fprint(2, "out of memory allocating %ld\n", sz);
|
fprint(2, "out of memory allocating %ld\n", sz);
|
||||||
exits("mem");
|
exits("mem");
|
||||||
}
|
}
|
||||||
|
setrealloctag(v, getcallerpc(&sz));
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +38,7 @@ estrdup(char *s)
|
||||||
fprint(2, "out of memory in strdup(%.10s)\n", s);
|
fprint(2, "out of memory in strdup(%.10s)\n", s);
|
||||||
exits("mem");
|
exits("mem");
|
||||||
}
|
}
|
||||||
|
setmalloctag(t, getcallerpc(&s));
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue