@@ -2,6 +2,8 @@
* CHANGELOG.
*/
+05052007 - Fixed zip archiver: could do bogus seek if a small, non-zip file
+ got put through isArchive().
04292007 - Minor const correctness tweak in zip archiver.
04032007 - Added a "make dist" target for packing up source code releases.
Reverted Unix recursive mutex code. There were some portability
@@ -447,6 +447,8 @@ static PHYSFS_sint64 zip_find_end_of_central_dir(void *in, PHYSFS_sint64 *len)
break;
filepos -= (maxread - 4);
+ if (filepos < 0)
+ filepos = 0;
} /* while */
BAIL_IF_MACRO(!found, ERR_NOT_AN_ARCHIVE, -1);