IsoItem.h (p7zip_15.14.1_src_all) | : | IsoItem.h (p7zip_16.02_src_all) | ||
---|---|---|---|---|
skipping to change at line 82 | skipping to change at line 82 | |||
const Byte* FindSuspName(unsigned skipSize, unsigned &lenRes) const | const Byte* FindSuspName(unsigned skipSize, unsigned &lenRes) const | |||
{ | { | |||
lenRes = 0; | lenRes = 0; | |||
if (SystemUse.Size() < skipSize) | if (SystemUse.Size() < skipSize) | |||
return 0; | return 0; | |||
const Byte *p = (const Byte *)SystemUse + skipSize; | const Byte *p = (const Byte *)SystemUse + skipSize; | |||
unsigned rem = (unsigned)(SystemUse.Size() - skipSize); | unsigned rem = (unsigned)(SystemUse.Size() - skipSize); | |||
while (rem >= 5) | while (rem >= 5) | |||
{ | { | |||
unsigned len = p[2]; | unsigned len = p[2]; | |||
if (len > rem) | if (len < 3 || len > rem) | |||
return 0; | return 0; | |||
if (p[0] == 'N' && p[1] == 'M' && p[3] == 1) | if (p[0] == 'N' && p[1] == 'M' && p[3] == 1) | |||
{ | { | |||
if (len < 5) | if (len < 5) | |||
return 0; // Check it | return 0; // Check it | |||
lenRes = len - 5; | lenRes = len - 5; | |||
return p + 5; | return p + 5; | |||
} | } | |||
p += len; | p += len; | |||
rem -= len; | rem -= len; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added |