sent

simple plaintext presentation tool
git clone git://git.suckless.org/sent
Log | Files | Refs | README | LICENSE

commit d7eac23083be2278327e94255a182a221a0df273
parent b23121b4aab274bd8e41d81145579ff93ba9a8f6
Author: Markus Teich <markus.teich@stusta.mhn.de>
Date:   Wed, 11 Nov 2015 19:09:13 +0100

fix more memory leaks

Diffstat:
Msent.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, NULL, 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 : NULL, NULL); + 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; }