From cab3daa783454c8f493a91d7f5b3d948a82e6ef0 Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:12:37 +1000 Subject: [PATCH] adding some checks for more safety --- data/dynos.cpp.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/data/dynos.cpp.h b/data/dynos.cpp.h index 80e0df831..694e62a88 100644 --- a/data/dynos.cpp.h +++ b/data/dynos.cpp.h @@ -159,6 +159,9 @@ public: template T *Read(T *aBuffer, s32 aCount) const { + if (aCount <= 0 || aBuffer == NULL) { + return aBuffer; + } if (mOffset + aCount * sizeof(T) <= mSize) { memcpy(aBuffer, mData + mOffset, aCount * sizeof(T)); mOffset += aCount * sizeof(T); @@ -177,6 +180,9 @@ public: template void Write(const T *aBuffer, s32 aCount) { + if (aCount <= 0 || aBuffer == NULL) { + return; + } if (!mReadOnly) { Grow(mOffset + aCount * sizeof(T)); memcpy(mData + mOffset, aBuffer, aCount * sizeof(T)); @@ -313,6 +319,10 @@ public: public: void Read(BinFile *aFile) { s32 _Length = aFile->Read(); + if (_Length <= 0) { + Resize(0); + return; + } Resize(_Length); aFile->Read(mBuffer, _Length); }