summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-06-30 14:42:59 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-06-30 21:12:12 +0000
commitc1485455ea0f26e07f66659f3272ac5f703bebfc (patch)
treedbb386ffe1553905ac6bc4caaa02f4252af4181b
parent7fb438b06c248ef91baddbb47b31180483efb631 (diff)
downloadrockbox-c148545.tar.gz
rockbox-c148545.tar.bz2
rockbox-c148545.zip
imageviewer: Fix potential null pointer dereference
(caught by clang-analyzer) Change-Id: Ie24b7cd75c5e9814007674925f33b1a321f1d06d
-rw-r--r--apps/plugins/imageviewer/gif/gif_decoder.c10
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 */