Ticket #2761: save file on top of existing directory changes dir's permissions

Steps to reproduce:

mkdir foo
chmod 0700 foo
mcedit bar
ls -ld foo
drw-r--r-- 1 slyfox users 0 Mar 22 22:10 foo

We've lost dir's permissions.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
This commit is contained in:
Slava Zanko 2012-03-23 13:40:25 +03:00
parent 3907f19a04
commit 2a5885fb7f

View File

@ -1488,6 +1488,15 @@ edit_save_as_cmd (WEdit * edit)
if (vfs_path_cmp (edit->filename_vpath, exp_vpath) != 0)
{
int file;
struct stat sb;
if (mc_stat (exp_vpath, &sb) == 0 && !S_ISREG (sb.st_mode))
{
edit_error_dialog (_("Save as"),
get_sys_error (_
("Cannot save: destination is not a regular file")));
goto ret;
}
different_filename = 1;
file = mc_open (exp_vpath, O_RDONLY | O_BINARY);