Does Java do anything to prevent files from changing out from under it?
Peter B. Kessler
Peter.Kessler at Sun.COM
Wed May 14 22:05:56 UTC 2008
Thanks all for the definitive responses.
Alan Bateman wrote:
> Peter B. Kessler wrote:
>> Does the Java platform do anything to prevent files from changing
>> out from under it? E.g., once one has opened a jar file for class
>> loading, could a malicious (or oblivious) user write to the jar
>> file and disturb the VM? Or is that all relegated to "the operating
>> system", file system permissions, etc.?
>> ... peter
> There isn't anything special so files that are open can be changed or
> replaced by an attacker or unintentionally assuming they have
> appropriate permissions. It's harder to replace files on Windows due to
> file locking. When a file is replaced then for regular I/O we will
> continue to access the original file until it is closed. As you mention
> JAR files then I wonder if you might be thinking about mmap'ed files?
> Are you looking at an error log with a SIGBUS by any chance :-) I
> believe we currently mmap the central directory of JAR/zip files. Dave
> or Martin may want to say more about this but periodically people try to
> replace JARs on the file system and wonder why the VM falls over soon
More information about the core-libs-dev