From eb4b057f0d559add365417a6b44e4f998cdfe589 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 28 Apr 2020 10:37:30 -0400 Subject: [PATCH] Check a return value for errors. Catches bad input data found during fuzzing. --- stb_image.h | 1 + 1 file changed, 1 insertion(+) diff --git a/stb_image.h b/stb_image.h index d7a2b84..01158e2 100644 --- a/stb_image.h +++ b/stb_image.h @@ -2168,6 +2168,7 @@ static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__ // first scan for DC coefficient, must be first memset(data,0,64*sizeof(data[0])); // 0 all the ac values now t = stbi__jpeg_huff_decode(j, hdc); + if (t == -1) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); diff = t ? stbi__extend_receive(j, t) : 0; dc = j->img_comp[b].dc_pred + diff;