Lock stream when reading raw section

This commit is contained in:
Matt Nadareski
2021-09-11 16:54:00 -07:00
parent 7195ed3587
commit 6ab7a06dd5

View File

@@ -224,8 +224,15 @@ namespace BurnOutSharp.ExecutableType.Microsoft
if (section == null)
return null;
stream.Seek((int)section.PointerToRawData, SeekOrigin.Begin);
return stream.ReadBytes((int)section.VirtualSize);
lock (stream)
{
long originalPosition = stream.Position;
stream.Seek((int)section.PointerToRawData, SeekOrigin.Begin);
byte[] sectionData = stream.ReadBytes((int)section.VirtualSize);
stream.Seek(originalPosition, SeekOrigin.Begin);
return sectionData;
}
}
/// <summary>