pull/24/merge
Pavel Gushchin 8 years ago committed by GitHub
commit 3b7fb9a515

@ -243,11 +243,12 @@ BOOL CSoundFile::ReadMDL(const BYTE *lpStream, DWORD dwMemLength)
if (blocklen) if (blocklen)
{ {
if (m_lpszSongComments) delete [] m_lpszSongComments; if (m_lpszSongComments) delete [] m_lpszSongComments;
m_lpszSongComments = new char[blocklen]; try {
if (m_lpszSongComments) m_lpszSongComments = new char[blocklen];
{ memcpy(m_lpszSongComments, lpStream + dwMemPos, blocklen);
memcpy(m_lpszSongComments, lpStream+dwMemPos, blocklen); m_lpszSongComments[blocklen - 1] = 0;
m_lpszSongComments[blocklen-1] = 0; }
catch (std::bad_alloc& ba) {
} }
} }
break; break;
@ -288,7 +289,13 @@ BOOL CSoundFile::ReadMDL(const BYTE *lpStream, DWORD dwMemLength)
if (!Headers[nins]) if (!Headers[nins])
{ {
UINT note = 12; UINT note = 12;
if ((Headers[nins] = new INSTRUMENTHEADER) == NULL) break; try {
Headers[nins] = new INSTRUMENTHEADER;
}
catch (std::bad_alloc& ba) {
break;
}
INSTRUMENTHEADER *penv = Headers[nins]; INSTRUMENTHEADER *penv = Headers[nins];
memset(penv, 0, sizeof(INSTRUMENTHEADER)); memset(penv, 0, sizeof(INSTRUMENTHEADER));
memcpy(penv->name, lpStream+dwPos+2, 32); memcpy(penv->name, lpStream+dwPos+2, 32);

@ -13,6 +13,8 @@
#ifndef __SNDFILE_H #ifndef __SNDFILE_H
#define __SNDFILE_H #define __SNDFILE_H
#include <new>
#ifdef UNDER_CE #ifdef UNDER_CE
int _strnicmp(const char *str1,const char *str2, int n); int _strnicmp(const char *str1,const char *str2, int n);
#endif #endif

Loading…
Cancel
Save