patches/libmikmod-03-cve-2010-2546.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 2886 e283160cc4fe
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2886
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     1
--- libmikmod-3.2.0-beta2/loaders/load_it.c.orig	2010-07-22 16:02:16.000000000 +0200
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     2
+++ libmikmod-3.2.0-beta2-patch/loaders/load_it.c	2010-07-22 16:07:48.000000000 +0200
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     3
@@ -743,6 +743,8 @@ BOOL IT_Load(BOOL curious)
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     4
 #define IT_LoadEnvelope(name,type) 										\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     5
 				ih. name##flg   =_mm_read_UBYTE(modreader);				\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     6
 				ih. name##pts   =_mm_read_UBYTE(modreader);				\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     7
+				if (ih. name##pts > ITENVCNT)							\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     8
+					ih. name##pts = ITENVCNT;							\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
     9
 				ih. name##beg   =_mm_read_UBYTE(modreader);				\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    10
 				ih. name##end   =_mm_read_UBYTE(modreader);				\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    11
 				ih. name##susbeg=_mm_read_UBYTE(modreader);				\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    12
@@ -756,6 +758,8 @@ BOOL IT_Load(BOOL curious)
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    13
 #define IT_LoadEnvelope(name,type) 										\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    14
 				ih. name/**/flg   =_mm_read_UBYTE(modreader);			\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    15
 				ih. name/**/pts   =_mm_read_UBYTE(modreader);			\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    16
+				if (ih. name/**/pts > ITENVCNT)							\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    17
+					ih. name/**/pts = ITENVCNT;							\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    18
 				ih. name/**/beg   =_mm_read_UBYTE(modreader);			\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    19
 				ih. name/**/end   =_mm_read_UBYTE(modreader);			\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    20
 				ih. name/**/susbeg=_mm_read_UBYTE(modreader);			\
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    21
@@ -862,10 +866,6 @@ BOOL IT_Load(BOOL curious)
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    22
 #endif
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    23
 
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    24
 				IT_ProcessEnvelope(vol);
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    25
-				/* fix for CVE-2009-3995 */
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    26
-				if (ih.volpts>= ENVPOINTS)
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    27
-					ih.volpts = ENVPOINTS-1;
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    28
-
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    29
 				for(u=0;u<ih.volpts;u++)
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    30
 					d->volenv[u].val=(ih.volnode[u]<<2);
e283160cc4fe SFElibmikmod.spec: CVE-2010-2546, added missing patches
jurikm
parents:
diff changeset
    31