mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-17 20:27:36 -05:00
65 lines
1.7 KiB
Diff
65 lines
1.7 KiB
Diff
|
Fix CVE-2014-8137 (double-free in jas_iccattrval_destroy()).
|
||
|
|
||
|
Copied from Fedora.
|
||
|
|
||
|
http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/tree/jasper-CVE-2014-8137.patch
|
||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1173157
|
||
|
|
||
|
--- 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));
|