From: <re...@us...> - 2006-08-16 23:47:48
|
Revision: 164 Author: rewbs Date: 2006-08-16 16:47:38 -0700 (Wed, 16 Aug 2006) ViewCVS: http://svn.sourceforge.net/modplug/?rev=164&view=rev Log Message: ----------- <rewbs> ITP fixes Modified Paths: -------------- trunk/OpenMPT/soundlib/Load_it.cpp Modified: trunk/OpenMPT/soundlib/Load_it.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_it.cpp 2006-08-13 15:52:29 UTC (rev 163) +++ trunk/OpenMPT/soundlib/Load_it.cpp 2006-08-16 23:47:38 UTC (rev 164) @@ -248,7 +248,7 @@ streamPos += sizeof(DWORD); // name string - if (streamPos+len<=dwMemLength && len<MAX_SAMPLES*32) { + if (streamPos+len<=dwMemLength && len<=MAX_SAMPLES*32) { memcpy(&m_szNames[0],lpStream+streamPos,len); streamPos += len; } @@ -331,7 +331,7 @@ streamPos += sizeof(DWORD); // ChnSettings[i].szName - if (streamPos+len<=dwMemLength && len<MAX_CHANNELNAME) { + if (streamPos+len<=dwMemLength && len<=MAX_CHANNELNAME) { memcpy(&ChnSettings[i].szName[0],lpStream+streamPos,len); streamPos += len; } @@ -372,7 +372,7 @@ // instruments' paths for(i=0; i<m_nInstruments; i++){ - if (len+streamPos<=dwMemLength && len<_MAX_PATH) { + if (len+streamPos<=dwMemLength && len<=_MAX_PATH) { memcpy(&m_szInstrumentPath[i][0],lpStream+streamPos,len); streamPos += len; } @@ -386,7 +386,7 @@ streamPos += sizeof(DWORD); // order data - if (size+streamPos<=dwMemLength && size<MAX_ORDERS) { + if (size+streamPos<=dwMemLength && size<=MAX_ORDERS) { memcpy(&Order[0],lpStream+streamPos,size); streamPos += size; } @@ -410,8 +410,8 @@ streamPos += sizeof(DWORD); // m_lpszPatternNames - m_lpszPatternNames = new char[m_nPatternNames * len]; - if (m_lpszPatternNames) { + if (len<=MAX_PATTERNNAME && m_nPatternNames<=MAX_PATTERNS) { + m_lpszPatternNames = new char[m_nPatternNames * len]; memcpy(&m_lpszPatternNames[0],lpStream+streamPos,m_nPatternNames * len); } streamPos += m_nPatternNames * len; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |