Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37902794
en ru br
ALT Linux repos
S:3.3.11.1-alt2
5.0: 3.1.11-alt0.6
4.1: 3.1.11-alt0.4
4.0: 3.1.11-alt0.2
3.0: 3.1.10-alt3

Group :: System/Libraries
RPM: libmikmod

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: libmikmod-3.1.12-CVE-2009-3995,3996.patch
Download


Index: loaders/load_it.c
===================================================================
--- loaders/load_it.c.orig
+++ loaders/load_it.c
@@ -747,6 +747,8 @@ BOOL IT_Load(BOOL curious)
 				ih. name##end   =_mm_read_UBYTE(modreader);				\
 				ih. name##susbeg=_mm_read_UBYTE(modreader);				\
 				ih. name##susend=_mm_read_UBYTE(modreader);				\
+				if (ih. name##pts>= ITENVCNT) \
+					ih. name##pts = ITENVCNT-1; \
 				for(lp=0;lp<ITENVCNT;lp++) {							\
 					ih. name##node[lp]=_mm_read_##type (modreader);		\
 					ih. name##tick[lp]=_mm_read_I_UWORD(modreader);		\
@@ -760,6 +762,8 @@ BOOL IT_Load(BOOL curious)
 				ih. name/**/end   =_mm_read_UBYTE(modreader);			\
 				ih. name/**/susbeg=_mm_read_UBYTE(modreader);			\
 				ih. name/**/susend=_mm_read_UBYTE(modreader);			\
+				if (ih. name/**/pts>= ITENVCNT) \
+					ih. name/**/pts = ITENVCNT-1; \
 				for(lp=0;lp<ITENVCNT;lp++) {							\
 					ih. name/**/node[lp]=_mm_read_/**/type (modreader);	\
 					ih. name/**/tick[lp]=_mm_read_I_UWORD(modreader);	\
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;
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin