Fix OOB access with volume.mid(headerSize)

This commit is contained in:
yeggor 2023-03-17 02:19:32 +04:00 committed by Nikolaj Schlej
parent 37372cdab4
commit 7a25a52427

View File

@ -1135,6 +1135,9 @@ USTATUS FfsParser::parseVolumeHeader(const UByteArray & volume, const UINT32 loc
msgInvalidChecksum = true; msgInvalidChecksum = true;
// Get info // Get info
if (headerSize >= volume.size()) {
return U_INVALID_VOLUME;
}
UByteArray header = volume.left(headerSize); UByteArray header = volume.left(headerSize);
UByteArray body = volume.mid(headerSize); UByteArray body = volume.mid(headerSize);
UString name = guidToUString(volumeHeader->FileSystemGuid); UString name = guidToUString(volumeHeader->FileSystemGuid);