jlec 15/01/04 18:18:17
Added: jasper-CVE-2014-8138.patch
jasper-CVE-2014-8137.patch
Log:
media-libs/jasper: Import fixes for CVE-2014-8137/8 from fedora, #533744
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key
B9D4F231BD1558AB!)
Revision Changes Path
1.1 media-libs/jasper/files/jasper-CVE-2014-8138.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/jasper/files/jasper-CVE-2014-8138.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/jasper/files/jasper-CVE-2014-8138.patch?rev=1.1&content-type=text/plain
Index: jasper-CVE-2014-8138.patch
===================================================================
--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11
14:06:44.000000000 +0100
+++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:26.000000000
+0100
@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in
/* Determine the type of each component. */
if (dec->cdef) {
for (i = 0; i < dec->numchans; ++i) {
+ /* Is the channel number reasonable? */
+ if (dec->cdef->data.cdef.ents[i].channo >=
dec->numchans) {
+ jas_eprintf("error: invalid channel number in
CDEF box\n");
+ goto error;
+ }
jas_image_setcmpttype(dec->image,
dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
jp2_getct(jas_image_clrspc(dec->image),
1.1 media-libs/jasper/files/jasper-CVE-2014-8137.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/jasper/files/jasper-CVE-2014-8137.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/jasper/files/jasper-CVE-2014-8137.patch?rev=1.1&content-type=text/plain
Index: jasper-CVE-2014-8137.patch
===================================================================
--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11
14:06:44.000000000 +0100
+++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386
+0100
@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr
return 0;
error:
- jas_icccurv_destroy(attrval);
return -1;
}
@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca
#endif
return 0;
error:
- jas_icctxtdesc_destroy(attrval);
return -1;
}
@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv
goto error;
return 0;
error:
- if (txt->string)
- jas_free(txt->string);
return -1;
}
@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr
goto error;
return 0;
error:
- jas_icclut8_destroy(attrval);
return -1;
}
@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt
goto error;
return 0;
error:
- jas_icclut16_destroy(attrval);
return -1;
}
--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11
14:30:54.193209780 +0100
+++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:36:46.313217814
+0100
@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in
case JP2_COLR_ICC:
iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
dec->colr->data.colr.iccplen);
- assert(iccprof);
+ if (!iccprof) {
+ jas_eprintf("error: failed to parse ICC profile\n");
+ goto error;
+ }
jas_iccprof_gethdr(iccprof, &icchdr);
jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));