summaryrefslogtreecommitdiff
path: root/jbig2dec
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2020-04-05 12:24:36 +0800
committerSebastian Rasmussen <sebras@gmail.com>2020-04-05 12:58:40 +0800
commitd8ed6363166841dcb067d7adc6ad6b52a1b1f90c (patch)
tree15e27f9501f3d733943816096079c2c12ea49edf /jbig2dec
parentdc6b8098b52db7e1a9b20c1ef6f1006555c04b1b (diff)
downloadghostpdl-d8ed6363166841dcb067d7adc6ad6b52a1b1f90c.tar.gz
jbig2dec: Initiate variable before avoids using uninited data during cleanup.
Fixes OSS-fuzz issue 21571. Also fixes Coverity CID 355467. Thanks to OSS-fuzz for reporting.
Diffstat (limited to 'jbig2dec')
-rw-r--r--jbig2dec/jbig2_text.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/jbig2dec/jbig2_text.c b/jbig2dec/jbig2_text.c
index 61dc815d3..d49303a79 100644
--- a/jbig2dec/jbig2_text.c
+++ b/jbig2dec/jbig2_text.c
@@ -593,6 +593,9 @@ jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data
uint32_t table_index = 0;
const Jbig2HuffmanParams *huffman_params = NULL;
+ /* zero params to ease cleanup later */
+ memset(&params, 0, sizeof(Jbig2TextRegionParams));
+
/* 7.4.1 */
if (segment->data_length < 17) {
code = jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, "segment too short");
@@ -614,9 +617,6 @@ jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data
jbig2_error(ctx, JBIG2_SEVERITY_DEBUG, segment->number, "text region header flags 0x%04x", flags);
- /* zero params to ease cleanup later */
- memset(&params, 0, sizeof(Jbig2TextRegionParams));
-
params.SBHUFF = flags & 0x0001;
params.SBREFINE = flags & 0x0002;
params.LOGSBSTRIPS = (flags & 0x000c) >> 2;