Skip to content

Commit

Permalink
Merge pull request #1377 from tohidemyname/fixCheckSanity
Browse files Browse the repository at this point in the history
UnhandledDataStructure should sanity check before allocating, not after
  • Loading branch information
tonyqus authored Jul 3, 2024
2 parents baa3a42 + cb47df4 commit c731f1f
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions scratchpad/HWPF/Model/UnhandledDataStructure.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,17 @@ public class UnhandledDataStructure
public UnhandledDataStructure(byte[] buf, int offset, int length)
{
// Console.WriteLine("Yes, using my code");
_buf = new byte[length];
if (offset + length > buf.Length)
{
throw new IndexOutOfRangeException("buffer length is " + buf.Length +
"but code is trying to read " + length + " from offset " + offset);
}
Array.Copy(buf, offset, _buf, 0, length);
if(offset < 0 || length < 0)
{
throw new IndexOutOfBoundsException("Offset and Length must both be >= 0, negative " +
"indicies are not permitted - code is tried to read " + length + " from offset " + offset);
}
_buf = Array.Copy(buf, offset, _buf, 0, length);
}

internal byte[] GetBuf()
Expand Down

0 comments on commit c731f1f

Please sign in to comment.