diff options
author | Torbjörn Andersson | 2010-10-15 06:12:23 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2010-10-15 06:12:23 +0000 |
commit | e5ec399c55a616379c9c9c400d1eb96b24e9f15c (patch) | |
tree | 1157d9eccf66086286ff619814066f9089f42454 /engines/sword2/music.cpp | |
parent | 6049a370b364b84a2d71aa9a5a9db83b704fbe78 (diff) | |
download | scummvm-rg350-e5ec399c55a616379c9c9c400d1eb96b24e9f15c.tar.gz scummvm-rg350-e5ec399c55a616379c9c9c400d1eb96b24e9f15c.tar.bz2 scummvm-rg350-e5ec399c55a616379c9c9c400d1eb96b24e9f15c.zip |
SWORD2: Fix some code analysis warnings (bug #3087857)
svn-id: r53467
Diffstat (limited to 'engines/sword2/music.cpp')
-rw-r--r-- | engines/sword2/music.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/sword2/music.cpp b/engines/sword2/music.cpp index c052aa6b46..89073fef8e 100644 --- a/engines/sword2/music.cpp +++ b/engines/sword2/music.cpp @@ -496,9 +496,16 @@ int Sound::readBuffer(int16 *buffer, const int numSamples) { memset(buffer, 0, 2 * numSamples); if (!_mixBuffer || numSamples > _mixBufferLen) { - if (_mixBuffer) - _mixBuffer = (int16 *)realloc(_mixBuffer, 2 * numSamples); - else + if (_mixBuffer) { + int16 *newBuffer = (int16 *)realloc(_mixBuffer, 2 * numSamples); + if (newBuffer) { + _mixBuffer = newBuffer; + } else { + // We can't use the old buffer any more. It's too small. + free(_mixBuffer); + _mixBuffer = 0; + } + } else _mixBuffer = (int16 *)malloc(2 * numSamples); _mixBufferLen = numSamples; |