A nasty bug was discovered by one of our user couple of months ago. The bug was affecting our last stable release as well as our latest nightly.
The bug was due to the way a file was being saved by C::B to avoid corrupting the existing file. C::B used to write the new contents to a temporary file before deleting the old one and then renaming the temp file to new file. But this created a bug as the temporary file may/may not get the file permission attributes of the original.
Following patch has been committed into latest svn trunk which fixes this issue.
--- /trunk/src/sdk/filemanager.cpp 2008/06/22 11:05:11 5103 +++ trunk/src/sdk/filemanager.cpp 2008/06/22 15:57:09 5104 @@ -58,7 +58,7 @@ len = file.Length(); data = new char[len+4]; - char *dp = data + len; + char *dp = data + len; *dp++ = ' '; *dp++ = ' '; *dp++ = ' '; @@ -100,7 +100,7 @@ data = buffer.Data(); len = buffer.Length(); - buffer.Append("