fix more memory leaks - sent - simple plaintext presentation tool | |
git clone git://git.suckless.org/sent | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit d7eac23083be2278327e94255a182a221a0df273 | |
parent b23121b4aab274bd8e41d81145579ff93ba9a8f6 | |
Author: Markus Teich <[email protected]> | |
Date: Wed, 11 Nov 2015 19:09:13 +0100 | |
fix more memory leaks | |
Diffstat: | |
M sent.c | 8 ++++++-- | |
1 file changed, 6 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/sent.c b/sent.c | |
@@ -142,6 +142,7 @@ Image *pngopen(char *filename) | |
return NULL; | |
img = malloc(sizeof(Image)); | |
+ memset(img, 0, sizeof(Image)); | |
if (!(img->png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NUL… | |
NULL, NULL))) { | |
free(img); | |
@@ -166,6 +167,9 @@ Image *pngopen(char *filename) | |
void pngfree(Image *img) | |
{ | |
png_destroy_read_struct(&img->png_ptr, img->info_ptr ? &img->info_ptr … | |
+ free(img->buf); | |
+ if (img->ximg) | |
+ XDestroyImage(img->ximg); | |
free(img); | |
} | |
@@ -344,6 +348,8 @@ void cleanup() | |
XCloseDisplay(xw.dpy); | |
if (slides) { | |
for (i = 0; i < slidecount; i++) { | |
+ if (slides[i].text) | |
+ free(slides[i].text); | |
if (slides[i].img) | |
pngfree(slides[i].img); | |
} | |
@@ -408,8 +414,6 @@ void load(FILE *fp) | |
slides[i].img = 0; | |
i++; | |
} | |
- if (slides) | |
- slides[i].text = NULL; | |
slidecount = i; | |
} | |