summaryrefslogtreecommitdiff
path: root/sys/src/libdraw/readimage.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-09-05 18:34:46 +0200
committercinap_lenrek <cinap_lenrek@centraldogma>2011-09-05 18:34:46 +0200
commit45f2fd3c01768f6483e4d583e4ca06c8e11362f4 (patch)
tree38cc5e0dc9dd398f4dbe16d7e5b12288f6cc7346 /sys/src/libdraw/readimage.c
parent9cddb6ed33051b8d19753e348a2eed3296622397 (diff)
libdraw: fix old subfont leak
Diffstat (limited to 'sys/src/libdraw/readimage.c')
-rw-r--r--sys/src/libdraw/readimage.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/src/libdraw/readimage.c b/sys/src/libdraw/readimage.c
index 3c80b4982..5745bad9b 100644
--- a/sys/src/libdraw/readimage.c
+++ b/sys/src/libdraw/readimage.c
@@ -19,8 +19,12 @@ readimage(Display *d, int fd, int dolock)
if(readn(fd, hdr, 11) != 11)
return nil;
- if(memcmp(hdr, "compressed\n", 11) == 0)
- return creadimage(d, fd, dolock);
+ if(memcmp(hdr, "compressed\n", 11) == 0){
+ if(i = creadimage(d, fd, dolock))
+ goto Done;
+ return nil;
+ }
+
if(readn(fd, hdr+11, 5*12-11) != 5*12-11)
return nil;
if(d)
@@ -123,5 +127,7 @@ readimage(Display *d, int fd, int dolock)
miny += dy;
}
free(tmp);
+ Done:
+ setmalloctag(i, getcallerpc(&d));
return i;
}