Commit Graph

131 Commits

Author SHA1 Message Date
Ryan C. Gordon 3f6c5e6348 Moved to actual zlib 1.2.3. 2005-07-23 22:02:00 +00:00
Ryan C. Gordon 8f3ab12d22 From: Jorg Walter
To: icculus@clutteredmind.org
Subject: Bug in zip archiver
Date: Sat, 23 Jul 2005 22:19:09 +0200

Hi!

PhysFS has a bug in the ZIP archive module, function zip_find_start_of_dir.
Upon encountering a substring match, rc is set to a wrong value. The fix is
simple: swap both assignments like this:

[patch below  --Ed.]

Some additional info for testing: Symptoms when you encounter this bug: A dir
is reported as empty although it has files in it; prerequisites or
encountering it: two dirs, one a substring of another, like "data/txt" and
"data/txt2", laid out in a way so that variable "middle" points to a file in
txt2 at some point during zip_find_start_of_dir

By the way, if you're interested in where PhysFS is used: I found this bug
while writing a patch for DOSBox (http://dosbox.sourceforge.net) to support
ZIP files. And I'd love to see that enhanced PHYSFS_mount syntax in an
official release soon *hint* ;);)
2005-07-23 21:46:07 +00:00
Ryan C. Gordon ec86fac0bb Updated zlib to 1.2.2. 2005-07-13 15:06:21 +00:00
Ryan C. Gordon 16e00ed962 Added translation for WAD file type. 2005-03-16 11:27:31 +00:00
Ryan C. Gordon d840403c1c All memory management now goes through allocation hooks instead of directly to
C runtime malloc/realloc/free...
2005-03-14 11:49:30 +00:00
Ryan C. Gordon 389a4d826a Cleaned up some minor bloat with my new evil GOTO_*_MACRO macros. 2005-03-13 03:33:11 +00:00
Ryan C. Gordon 5c313d7a93 Fixed filename sorting, to fix lookups that shouldn't fail (thanks, Chris!). 2005-01-05 05:15:12 +00:00
Ryan C. Gordon 0492580bda Removed all the forward declaration cruft from the archivers. 2004-09-29 06:18:04 +00:00
Ryan C. Gordon c2765f8571 Added callback APIs and ripped up the internals everywhere to use them. 2004-09-29 06:09:29 +00:00
Ryan C. Gordon 90031c81f3 Did the same thing to FileHandles than I did to DirHandles, but this
triggered massive tweaking in physfs.c. A lot of code got little
cleanups, which was nice. Less malloc pressure, too, since opening a
file used to allocate a ton of crap and mush it together...now it's
basically down to one structure and the instance data in whatever
archiver.
2004-09-26 13:00:59 +00:00
Ryan C. Gordon 94759513d9 Cleaned up archiver interface to not deal with DirHandles anymore,
which simplifies things, removes some responsibility and code
duplication from the archivers, and trims some malloc pressure.
Also ripped up the allocation hook code a little. We'll try to screw
with memory locking later, since it makes everything ugly and
complex. Oh well.
2004-09-26 00:25:04 +00:00
Ryan C. Gordon 7553af8acf Minor allocation hook corrections. 2004-09-23 23:59:17 +00:00
Ryan C. Gordon c0acfc0118 Initial structure for replacable allocator work. 2004-09-23 06:45:36 +00:00
Ryan C. Gordon 0cc3dea44f Removed more .cvsignore files from Subversion repository. 2004-09-23 03:33:17 +00:00
Ryan C. Gordon 44cd602b46 Westwood MIX archive support. 2004-04-09 06:36:09 +00:00
Ryan C. Gordon d43ca254c1 Last minute changes, fixes, and build system updates for 1.0. 2004-01-08 05:53:28 +00:00
Ryan C. Gordon 24c8651f7f Patches to get this building on Mac Classic again. 2003-12-29 08:50:21 +00:00
Ryan C. Gordon f2ebb00ef9 Says Travis Wells:
"Meh. I just realized the wad archiver isn't considering ExMx or MAPxx entries
correctly, it treats them as files,when it should consider them directories,
and place the next 11 entries in that directory.Right now it's making it
impossible to open maps, since they all have the same names, they all overlap.
So it's not very useful right now.

...

Here's the patch to wad.c, it should now correctly place the map-files into
subdirectories."

Thanks, Travis!
2003-12-18 19:53:20 +00:00
Ryan C. Gordon efdc4ac8a6 Added Doom WAD support. 2003-12-15 04:01:18 +00:00
Ryan C. Gordon 9dcb15fa2c Made QPAK archiver case insensitive again. 2003-11-09 21:06:15 +00:00
bhook b035d272ec removed a warning by adding a cast 2003-08-09 15:07:08 +00:00
bhook 83cdb49cd3 *** empty log message *** 2003-08-09 02:37:21 +00:00
Ryan C. Gordon ccfa99fb61 Reimplemented qpak.c for relicensing. 2003-07-21 00:27:09 +00:00
Ryan C. Gordon f3191d0e85 Off-by-one fix by Dieter Baron...fixes segfault in zip archive searching in
certain cases.
2003-07-20 21:13:25 +00:00
Ryan C. Gordon f4309f51e8 Tabs-to-spaces patch by James Turk. 2003-07-20 21:08:24 +00:00
Ryan C. Gordon 025aef8a15 Switched to zlib license. 2003-07-20 20:57:55 +00:00
Ryan C. Gordon b50342ad13 PocketPC fixes (thanks, David Hedbor!) 2003-05-18 07:52:28 +00:00
Ryan C. Gordon 3a3451c4be Patched compiler warnings (thanks, Bradley Bell!) 2003-05-16 15:31:42 +00:00
Ryan C. Gordon f22dfbf214 Minor cosmetic tweak. 2003-03-30 20:46:25 +00:00
Ryan C. Gordon 3a27dd9310 Descent I/II HOG and MVL archive support (thanks, Bradley Bell!). 2003-03-30 18:59:54 +00:00
Ryan C. Gordon 1344feceda Fixed seeking in uncompressed zip entries and handle Java-created JAR files.
(Thanks to "Tree" for pointing out these bugs).
2003-03-30 18:44:59 +00:00
Ryan C. Gordon f3f15edb4a Made archiver case-insensitive for Quake 2 compatibility. 2003-03-12 09:02:02 +00:00
Ryan C. Gordon 6f1d693fe8 Another attempt at type size correctness. 2003-03-12 06:19:37 +00:00
Ryan C. Gordon 01505d8d58 Attempt at type correctness. 2003-03-12 05:39:51 +00:00
Ryan C. Gordon 3a479b6cd8 Now compiles on CodeWarrior 6 for MacOS Classic again. 2003-01-31 04:07:48 +00:00
Ryan C. Gordon 9d82110b57 Some cleanups for PocketPC port. 2002-11-22 06:24:10 +00:00
Ryan C. Gordon 7606e3bf11 Win32 fixes. 2002-09-23 18:35:12 +00:00
Ryan C. Gordon ee077eabec Fixed infinite loop bug, cleaned out tab chars. 2002-08-30 14:30:49 +00:00
Ryan C. Gordon f5e279536c Fixed bug that prevented use when symlinks were disallowed.
More optimizations, too.
2002-08-28 23:32:29 +00:00
Ryan C. Gordon 0eb5f71880 Cleaned up some stuff, reduced some unnecessary 64-bit ints to 32. 2002-08-28 08:58:39 +00:00
Ryan C. Gordon 680de768b7 Fixes. 2002-08-28 08:27:27 +00:00
Ryan C. Gordon c5dfea18cf ZIP_exists() now works with directories. 2002-08-21 22:33:30 +00:00
Ryan C. Gordon d40d951594 Minor signed/unsigned fix...ZIP_isDirectory() now seems to work. 2002-08-21 04:13:56 +00:00
Ryan C. Gordon 1f5b571be7 Bunch of tedious corrections, optimizations, and cleanups. 2002-08-21 02:59:15 +00:00
Ryan C. Gordon 7ddb29c958 Added qpak.lo 2002-08-21 02:56:50 +00:00
Ryan C. Gordon 1e2372b44c Generalized sorting routines, and removed individual implementations. 2002-08-20 01:34:27 +00:00
Ryan C. Gordon 50b40f22a9 Fixed memory leak. 2002-08-16 15:57:44 +00:00
Ryan C. Gordon 752b317ca4 Fixed logic bug. 2002-08-16 15:22:52 +00:00
Ryan C. Gordon bd584d5985 Added qpak.c to build systems. 2002-08-09 19:47:35 +00:00
Ryan C. Gordon bad1d8f061 Initial add. 2002-08-09 19:45:54 +00:00