1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2024-12-27 06:14:09 +00:00

Merge branch 'realloc' into 'master'

Don't assume realloc always succeeds

See merge request OpenMW/openmw!4331
This commit is contained in:
jvoisin 2024-08-23 10:34:38 +00:00
commit 830a26f75e

View File

@ -101,14 +101,21 @@ namespace LuaUtil
<< " is blocked because Lua memory limit (configurable in settings.cfg) is exceeded"; << " is blocked because Lua memory limit (configurable in settings.cfg) is exceeded";
return nullptr; return nullptr;
} }
self->mTotalMemoryUsage += smallAllocDelta + bigAllocDelta;
self->mSmallAllocMemoryUsage += smallAllocDelta;
void* newPtr = nullptr; void* newPtr = nullptr;
if (nsize == 0) if (nsize == 0)
free(ptr); free(ptr);
else else
{
newPtr = realloc(ptr, nsize); newPtr = realloc(ptr, nsize);
if (!newPtr)
{
Log(Debug::Error) << "Lua realloc " << osize << "->" << nsize << " failed";
return nullptr;
}
}
self->mTotalMemoryUsage += smallAllocDelta + bigAllocDelta;
self->mSmallAllocMemoryUsage += smallAllocDelta;
if (bigAllocDelta != 0) if (bigAllocDelta != 0)
{ {