AssbinLoader: hardening, exception safety

Fixes potential memory leaks and crashes on malformed input.
This commit is contained in:
Martin Jeřábek
2018-11-22 11:45:52 +01:00
parent 66599b6392
commit 430fe98c53
2 changed files with 61 additions and 59 deletions

View File

@@ -80,7 +80,8 @@ public:
// -------------------------------------------------------------------
// Read from stream
size_t Read(void* pvBuffer, size_t pSize, size_t pCount) {
const size_t cnt = std::min(pCount,(length-pos)/pSize),ofs = pSize*cnt;
ai_assert(pvBuffer && pSize);
const size_t cnt = std::min(pCount,(length-pos)/pSize), ofs = pSize*cnt;
memcpy(pvBuffer,buffer+pos,ofs);
pos += ofs;