14 lines
790 B
Diff
14 lines
790 B
Diff
diff --git a/jbig2dec/jbig2_symbol_dict.c b/jbig2dec/jbig2_symbol_dict.c
|
|
index 4acaba9..36225cb 100644 (file)
|
|
--- jbig2_symbol_dict.c
|
|
+++ jbig2_symbol_dict.c
|
|
@@ -629,7 +629,7 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
|
|
byte *dst = image->data;
|
|
|
|
/* SumatraPDF: prevent read access violation */
|
|
- if (size - jbig2_huffman_offset(hs) < image->height * stride) {
|
|
+ if ((size - jbig2_huffman_offset(hs) < image->height * stride) || (size < jbig2_huffman_offset(hs))) {
|
|
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, "not enough data for decoding (%d/%d)", image->height * stride,
|
|
size - jbig2_huffman_offset(hs));
|
|
jbig2_image_release(ctx, image);
|