From c0c8fb25fb84d498207713f89720e38a98f16435 Mon Sep 17 00:00:00 2001 From: PeterN Date: Wed, 13 Feb 2019 09:01:49 +0000 Subject: Change: Use SlErrorCorrupt() on pool index error when loading a savegame, instead of terminating. (#7219) --- src/core/pool_func.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/core/pool_func.hpp') diff --git a/src/core/pool_func.hpp b/src/core/pool_func.hpp index 5569addbd..64af17564 100644 --- a/src/core/pool_func.hpp +++ b/src/core/pool_func.hpp @@ -152,18 +152,20 @@ DEFINE_POOL_METHOD(void *)::GetNew(size_t size) * @param size size of item * @param index index of item * @return pointer to allocated item - * @note usererror() on failure! (index out of range or already used) + * @note SlErrorCorruptFmt() on failure! (index out of range or already used) */ DEFINE_POOL_METHOD(void *)::GetNew(size_t size, size_t index) { + extern void NORETURN SlErrorCorruptFmt(const char *format, ...); + if (index >= Tmax_size) { - usererror("failed loading savegame: %s index " PRINTF_SIZE " out of range (" PRINTF_SIZE ")", this->name, index, Tmax_size); + SlErrorCorruptFmt("%s index " PRINTF_SIZE " out of range (" PRINTF_SIZE ")", this->name, index, Tmax_size); } if (index >= this->size) this->ResizeFor(index); if (this->data[index] != NULL) { - usererror("failed loading savegame: %s index " PRINTF_SIZE " already in use", this->name, index); + SlErrorCorruptFmt("%s index " PRINTF_SIZE " already in use", this->name, index); } return this->AllocateItem(size, index); -- cgit v1.2.3-54-g00ecf