From a3d848ff8b47bfe6b1649342a6ea54e095aa7af4 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 12 Mar 2021 18:28:10 +0100 Subject: [PATCH] CMemoryFile: fix seek bounds-checking --- source/Irrlicht/CMemoryFile.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/Irrlicht/CMemoryFile.cpp b/source/Irrlicht/CMemoryFile.cpp index 22c57e65..a2143615 100644 --- a/source/Irrlicht/CMemoryFile.cpp +++ b/source/Irrlicht/CMemoryFile.cpp @@ -52,14 +52,14 @@ bool CMemoryReadFile::seek(long finalPos, bool relativeMovement) { if (relativeMovement) { - if (Pos + finalPos > Len) + if (Pos + finalPos < 0 || Pos + finalPos > Len) return false; Pos += finalPos; } else { - if (finalPos > Len) + if (finalPos < 0 || finalPos > Len) return false; Pos = finalPos; @@ -133,14 +133,14 @@ bool CMemoryWriteFile::seek(long finalPos, bool relativeMovement) { if (relativeMovement) { - if (Pos + finalPos > Len) + if (Pos + finalPos < 0 || Pos + finalPos > Len) return false; Pos += finalPos; } else { - if (finalPos > Len) + if (finalPos < 0 || finalPos > Len) return false; Pos = finalPos;