libmikmod/libmikmod-3.1.12-CVE-2009-3995,3996.diff
OBS User autobuild 00080e7a1c Accepting request 38433 from multimedia:libs
Copy from multimedia:libs/libmikmod based on submit request 38433 from user prusnak

OBS-URL: https://build.opensuse.org/request/show/38433
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libmikmod?expand=0&rev=14
2010-04-21 16:35:57 +00:00

32 lines
891 B
Diff

Index: loaders/load_it.c
===================================================================
--- loaders/load_it.c.orig
+++ loaders/load_it.c
@@ -862,6 +862,11 @@ BOOL IT_Load(BOOL curious)
#endif
IT_ProcessEnvelope(vol);
+
+ // Secunia SA37775
+ if (ih.volpts>= ENVPOINTS)
+ ih.volpts = ENVPOINTS-1;
+
for(u=0;u<ih.volpts;u++)
d->volenv[u].val=(ih.volnode[u]<<2);
Index: loaders/load_ult.c
===================================================================
--- loaders/load_ult.c.orig
+++ loaders/load_ult.c
@@ -225,6 +225,10 @@ BOOL ULT_Load(BOOL curious)
for(t=0;t<of.numpat;t++)
of.patterns[(t*of.numchn)+u]=tracks++;
+ // SA37775
+ if (of.numchn>=UF_MAXCHAN)
+ of.numchn=UF_MAXCHAN - 1;
+
/* read pan position table for v1.5 and higher */
if(mh.id[14]>='3') {
for(t=0;t<of.numchn;t++) of.panning[t]=_mm_read_UBYTE(modreader)<<4;