Index: utils/ofzip/GZIPArchive.m ================================================================== --- utils/ofzip/GZIPArchive.m +++ utils/ofzip/GZIPArchive.m @@ -28,13 +28,15 @@ static void setPermissions(OFString *destination, OFString *source) { #ifdef OF_HAVE_CHMOD OFFileManager *fileManager = [OFFileManager defaultManager]; - mode_t mode; + mode_t mode = [fileManager permissionsOfItemAtPath: source]; - mode = [fileManager permissionsOfItemAtPath: source]; + /* Only allow modes that are safe */ + mode &= (S_IRWXU | S_IRWXG | S_IRWXO); + [fileManager changePermissionsOfItemAtPath: destination permissions: mode]; #endif }