savestate: overflow crash when serializing

This commit is contained in:
Flyinghead 2022-06-20 20:49:09 +02:00
parent 05961ac883
commit d2aca1d621
1 changed files with 1 additions and 3 deletions

View File

@ -152,7 +152,7 @@ class Serializer : public SerializeBase
{ {
public: public:
Serializer() Serializer()
: SerializeBase(std::numeric_limits<size_t>::max(), false), data(nullptr) { } : Serializer(nullptr, std::numeric_limits<size_t>::max(), false) {}
Serializer(void *data, size_t limit, bool rollback = false) Serializer(void *data, size_t limit, bool rollback = false)
: SerializeBase(limit, rollback), data((u8 *)data) : SerializeBase(limit, rollback), data((u8 *)data)
@ -179,7 +179,6 @@ public:
} }
void skip(size_t size) void skip(size_t size)
{ {
verify(this->_size + size <= limit);
if (data != nullptr) if (data != nullptr)
data += size; data += size;
this->_size += size; this->_size += size;
@ -189,7 +188,6 @@ public:
private: private:
void doSerialize(const void *src, size_t size) void doSerialize(const void *src, size_t size)
{ {
verify(this->_size + size <= limit);
if (data != nullptr) if (data != nullptr)
{ {
memcpy(data, src, size); memcpy(data, src, size);