summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch')
-rw-r--r--gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch b/gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch
new file mode 100644
index 0000000000..4b5917fd28
--- /dev/null
+++ b/gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch
@@ -0,0 +1,31 @@
+Fix CVE-2011-4516 and CVE-2011-4517 (heap buffer overflow flaws lead to
+arbitrary code execution).
+
+Copied from Fedora.
+
+http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/tree/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
+https://bugzilla.redhat.com/show_bug.cgi?id=747726
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 2011-10-25 17:25:39.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-10-25 17:29:14.379371908 +0200
+@@ -744,6 +744,10 @@ static int jpc_cox_getcompparms(jpc_ms_t
+ return -1;
+ }
+ compparms->numrlvls = compparms->numdlvls + 1;
++ if (compparms->numrlvls > JPC_MAXRLVLS) {
++ jpc_cox_destroycompparms(compparms);
++ return -1;
++ }
+ if (prtflag) {
+ for (i = 0; i < compparms->numrlvls; ++i) {
+ if (jpc_getuint8(in, &tmp)) {
+@@ -1331,7 +1335,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(jpc_crgcomp_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;