forked from Mirrorlandia_minetest/irrlicht
CMemoryFile: fix seek bounds-checking
This commit is contained in:
parent
57ff34b1ed
commit
a3d848ff8b
@ -52,14 +52,14 @@ bool CMemoryReadFile::seek(long finalPos, bool relativeMovement)
|
|||||||
{
|
{
|
||||||
if (relativeMovement)
|
if (relativeMovement)
|
||||||
{
|
{
|
||||||
if (Pos + finalPos > Len)
|
if (Pos + finalPos < 0 || Pos + finalPos > Len)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Pos += finalPos;
|
Pos += finalPos;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (finalPos > Len)
|
if (finalPos < 0 || finalPos > Len)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Pos = finalPos;
|
Pos = finalPos;
|
||||||
@ -133,14 +133,14 @@ bool CMemoryWriteFile::seek(long finalPos, bool relativeMovement)
|
|||||||
{
|
{
|
||||||
if (relativeMovement)
|
if (relativeMovement)
|
||||||
{
|
{
|
||||||
if (Pos + finalPos > Len)
|
if (Pos + finalPos < 0 || Pos + finalPos > Len)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Pos += finalPos;
|
Pos += finalPos;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (finalPos > Len)
|
if (finalPos < 0 || finalPos > Len)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Pos = finalPos;
|
Pos = finalPos;
|
||||||
|
Loading…
Reference in New Issue
Block a user