mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-04 01:07:15 +08:00
31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
Description: Fix for CVE-2011-4516 and CVE-2011-4517
|
|
This patch fixes a possible denial of service and code execution via
|
|
heap-based buffer overflows.
|
|
Author: Michael Gilbert <michael.s.gilbert@gmail.com>
|
|
Origin: Patch thanks to Red Hat
|
|
|
|
Index: jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
|
|
===================================================================
|
|
--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2011-12-19 09:35:34.186909298 -0500
|
|
+++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-12-19 09:35:51.198909832 -0500
|
|
@@ -744,6 +744,10 @@
|
|
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 @@
|
|
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;
|