Fix for lack of basic error checking in writing compressed .blend files
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 29 Jan 2010 11:26:17 +0000 (11:26 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 29 Jan 2010 11:26:17 +0000 (11:26 +0000)
commit0621a8e08a6b0130b8f51782f4b75b2fe6a299da
tree114d4074c613dd148b734dfe1eb14446673a1a15
parent014a24ff62f170c2b839d5896ed2345c2b4762a7
Fix for lack of basic error checking in writing compressed .blend files
(which is enabled by default). If there was a problem reading or writing
in the compression process, the original .blend file could get lost. Now
errors are checked, and writing is done as follows:

write .blend@ -> compress .blend@ to .blend@.gz ->
rename .blend@.gz to .blend -> remove .blend@

We've had blender crash here, lose the original .blend and leave an
empty .blend@. It is not clear to me where this would happen in practice
if there is enough disk space and permissions are correct, so the actual
crash is likely not fixed by this commit.
source/blender/blenlib/intern/fileops.c
source/blender/blenloader/intern/writefile.c