diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-06-30 14:42:59 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-06-30 21:12:12 +0000 |
commit | c1485455ea0f26e07f66659f3272ac5f703bebfc (patch) | |
tree | dbb386ffe1553905ac6bc4caaa02f4252af4181b | |
parent | 7fb438b06c248ef91baddbb47b31180483efb631 (diff) | |
download | rockbox-c1485455ea0f26e07f66659f3272ac5f703bebfc.tar.gz rockbox-c1485455ea0f26e07f66659f3272ac5f703bebfc.zip |
imageviewer: Fix potential null pointer dereference
(caught by clang-analyzer)
Change-Id: Ie24b7cd75c5e9814007674925f33b1a321f1d06d
-rw-r--r-- | apps/plugins/imageviewer/gif/gif_decoder.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/apps/plugins/imageviewer/gif/gif_decoder.c b/apps/plugins/imageviewer/gif/gif_decoder.c index e45814cbef..f57eab1cf1 100644 --- a/apps/plugins/imageviewer/gif/gif_decoder.c +++ b/apps/plugins/imageviewer/gif/gif_decoder.c @@ -136,7 +136,7 @@ static void set_canvas_background(pixel_t *out, GifFileType *GifFile) * to reset canvas to global background color specified in gif BUT * all renderers I know use transparency instead. */ - memset(out, PIXEL_TRANSPARENT, PIXELS_SZ); + memset(out, PIXEL_TRANSPARENT, PIXELS_SZ); } /* var names adhere to giflib coding style */ @@ -282,7 +282,8 @@ void gif_decode(struct gif_decoder *d, Row + j, Col, Width); } - pf_progress(25*(i+1), 100); + if (pf_progress != NULL) + pf_progress(25*(i+1), 100); } } else @@ -299,7 +300,8 @@ void gif_decode(struct gif_decoder *d, gif2pixels(Line, pixels_buffer[buf_idx], Row + i, Col, Width); - pf_progress(100*(i+1)/Height, 100); + if (pf_progress != NULL) + pf_progress(25*(i+1), 100); } } @@ -406,7 +408,7 @@ void gif_decode(struct gif_decoder *d, free(pixels_buffer[1]); free(Line); - + /* WARNING !!!! */ /* GifFile object is trashed from now on, DONT use it */ /* Move bitmap in native format to the front of the buff */ |