1
0
Эх сурвалжийг харах

zip: Safety check to avoid overrunning the extra field.

Ryan C. Gordon 3 долоо хоног өмнө
parent
commit
060373ee8e

+ 1 - 0
src/physfs_archiver_zip.c

@@ -1092,6 +1092,7 @@ static ZIPentry *zip_load_entry(ZIPinfo *info, const int zip64,
         {
             BAIL_IF_ERRPASS(!readui16(io, &sig), NULL);
             BAIL_IF_ERRPASS(!readui16(io, &len), NULL);
+            BAIL_IF(extralen < (4 + len), PHYSFS_ERR_CORRUPT, NULL);
 
             si64 += 4 + len;
             extralen -= 4 + len;