[physfs] Impending PhysicsFS 3.0.1 release...

Ryan C. Gordon icculus at icculus.org
Mon Oct 23 13:25:50 EDT 2017


I'm going to roll out a quick PhysicsFS 3.0.1 with two critical fixes. 
Thanks to Benjamin Moir for alerting me to both of these.

First, a silly bug in the ZIP archiver causes it to crash if you try to 
use PHYSFS_mountHandle() to mount an archive inside an archive:

https://hg.icculus.org/icculus/physfs/rev/67ca4c4f043e

Second, the 3.0.0 documentation says the new mounting functions 
(PHYSFS_mountHandle, PHYSFS_mountMemory and PHYSFS_mountIo) can take a 
NULL for the "filename" parameter: since these functions don't deal with 
a real path on the native filesystem, you give it a fake one for various 
reasons. Early designs for the 3.0 API intended this to be an optional 
parameter, but didn't count on the fact that PHYSFS_unmount() needs a 
unique, non-NULL string to know what archive to unmount. I had decided 
at some point it wasn't worth adding a PHYSFS_umountByMountpoint() 
function, and never updated the docs or code to reflect this.  :(

As such: PhysicsFS 3.0.0 says you can give a NULL for the fake filename, 
and it works, but it'll crash if you try to unmount _anything_ 
afterwards, and you can't unmount a NULL path in any case. 3.0.1 will 
correct the docs and programmatically forbid these sort of mounts.

https://hg.icculus.org/icculus/physfs/rev/0bbfaf6c5508

Going to spend today pushing PhysicsFS through American Fuzzy Lop, my 
new favorite program breaker ( http://lcamtuf.coredump.cx/afl/ ), and 
then ship 3.0.1 with these two patches and anything else that comes up 
quickly.

As such, if you moved to 3.0.0 and have anything you'd like to be 
changed in 3.0.1, please let me know!

--ryan.



More information about the physfs mailing list