Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
ghostscript-mini
ghostscript-8.64-jbig2broken.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ghostscript-8.64-jbig2broken.dif of Package ghostscript-mini
--- jbig2dec/jbig2_text.c +++ jbig2dec/jbig2_text.c 2009-06-19 12:58:20.613900664 +0000 @@ -74,7 +74,7 @@ jbig2_decode_text_region(Jbig2Ctx *ctx, int x,y; bool first_symbol; uint32_t index, SBNUMSYMS; - Jbig2Image *IB; + Jbig2Image *IB = NULL; Jbig2HuffmanState *hs = NULL; Jbig2HuffmanTable *SBSYMCODES = NULL; int code = 0; @@ -279,6 +279,11 @@ jbig2_decode_text_region(Jbig2Ctx *ctx, while (id >= dicts[index]->n_symbols) id -= dicts[index++]->n_symbols; IB = jbig2_image_clone(ctx, dicts[index]->glyphs[id]); + if (!IB) { + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, + "memory allocation failure!"); + return -1; + } } if (params->SBREFINE) { if (params->SBHUFF) { @@ -313,8 +318,18 @@ jbig2_decode_text_region(Jbig2Ctx *ctx, /* 6.4.11 (6) */ IBO = IB; + if (IBO->width + RDW < 0 || IBO->height + RDH < 0) { + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, + "parameter out of range!"); + return -1; + } image = jbig2_image_new(ctx, IBO->width + RDW, IBO->height + RDH); + if (!image) { + jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, + "memory allocation failure!"); + return -1; + } /* Table 12 */ rparams.GRTEMPLATE = params->SBRTEMPLATE;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor