Annotation of /trunk/ghostscript-gpl/patches/ghostscript-gpl-8.71-jbig2dec-nullderef.patch
Parent Directory | Revision Log
Revision 1374 -
(hide annotations)
(download)
Wed Jun 29 12:17:32 2011 UTC (13 years, 3 months ago) by niro
File size: 1787 byte(s)
Wed Jun 29 12:17:32 2011 UTC (13 years, 3 months ago) by niro
File size: 1787 byte(s)
added fedora patches
1 | niro | 1374 | diff -up ghostscript-8.71/jbig2dec/jbig2_symbol_dict.c.jbig2dec-nullderef ghostscript-8.71/jbig2dec/jbig2_symbol_dict.c |
2 | --- ghostscript-8.71/jbig2dec/jbig2_symbol_dict.c.jbig2dec-nullderef 2009-05-29 07:48:44.000000000 +0100 | ||
3 | +++ ghostscript-8.71/jbig2dec/jbig2_symbol_dict.c 2010-02-17 12:06:42.040614797 +0000 | ||
4 | @@ -367,6 +367,11 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx, | ||
5 | memcpy(region_params.gbat, params->sdat, sdat_bytes); | ||
6 | |||
7 | image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); | ||
8 | + if (image == NULL) { | ||
9 | + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, | ||
10 | + "failed to allocate image storage"); | ||
11 | + return NULL; | ||
12 | + } | ||
13 | |||
14 | code = jbig2_decode_generic_region(ctx, segment, ®ion_params, | ||
15 | as, image, GB_stats); | ||
16 | @@ -517,6 +522,11 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx, | ||
17 | ID, RDX, RDY); | ||
18 | |||
19 | image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); | ||
20 | + if (image == NULL) { | ||
21 | + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, | ||
22 | + "failed to allocate image storage"); | ||
23 | + return NULL; | ||
24 | + } | ||
25 | |||
26 | /* Table 18 */ | ||
27 | rparams.GRTEMPLATE = params->SDRTEMPLATE; | ||
28 | @@ -635,6 +645,16 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx, | ||
29 | for (j = HCFIRSTSYM; j < NSYMSDECODED; j++) { | ||
30 | Jbig2Image *glyph; | ||
31 | glyph = jbig2_image_new(ctx, SDNEWSYMWIDTHS[j], HCHEIGHT); | ||
32 | + if (glyph == NULL) { | ||
33 | + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, | ||
34 | + "error allocating image storage for glyph"); | ||
35 | + while (--j >= HCFIRSTSYM) { | ||
36 | + jbig2_image_release(ctx, SDNEWSYMS->glyphs[j]); | ||
37 | + SDNEWSYMS->glyphs[j] = NULL; | ||
38 | + } | ||
39 | + jbig2_image_release(ctx, image); | ||
40 | + return NULL; | ||
41 | + } | ||
42 | jbig2_image_compose(ctx, glyph, image, | ||
43 | -x, 0, JBIG2_COMPOSE_REPLACE); | ||
44 | x += SDNEWSYMWIDTHS[j]; |