From 81e56e612dab7d80485c640068531710a713d205 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 20 Mar 2011 19:40:27 -0700 Subject: [PATCH] * fileio.c (Fcopy_file): Report error if fchown or fchmod fail. --- src/ChangeLog | 4 ++++ src/fileio.c | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c97331a78e5..fdf57152294 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-03-21 Paul Eggert + + * fileio.c (Fcopy_file): Report error if fchown or fchmod fail. + 2011-03-20 Paul Eggert * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303). diff --git a/src/fileio.c b/src/fileio.c index 5d33fb93878..7d2f10d517c 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -1951,9 +1951,10 @@ on the system, we copy the SELinux context of FILE to NEWNAME. */) owner and group. */ if (input_file_statable_p) { - if (! NILP (preserve_uid_gid)) - fchown (ofd, st.st_uid, st.st_gid); - fchmod (ofd, st.st_mode & 07777); + if (!NILP (preserve_uid_gid) && fchown (ofd, st.st_uid, st.st_gid) != 0) + report_file_error ("Doing chown", Fcons (newname, Qnil)); + if (fchmod (ofd, st.st_mode & 07777) != 0) + report_file_error ("Doing chmod", Fcons (newname, Qnil)); } #endif /* not MSDOS */ -- 2.39.5