From: Jim Meyering Date: Tue, 25 Jul 2000 22:22:52 +0000 (+0000) Subject: (change_file_mode): Save errno from a possibly failed chown, X-Git-Tag: TEXTUTILS-2_0g~109 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ebd74667bc327d4bcbbe7385bd3668919d93f0cb;p=platform%2Fupstream%2Fcoreutils.git (change_file_mode): Save errno from a possibly failed chown, and use that later. Otherwise, errno itself could be clobbered before used. --- diff --git a/src/chmod.c b/src/chmod.c index 41c538873..f958e962a 100644 --- a/src/chmod.c +++ b/src/chmod.c @@ -162,6 +162,7 @@ change_file_mode (const char *file, const struct mode_change *changes, if (newmode != (file_stats.st_mode & CHMOD_MODE_BITS)) { int fail = chmod (file, newmode); + int saved_errno = errno; if (verbosity == V_high || (verbosity == V_changes_only && !fail)) describe_change (file, newmode, (fail ? CH_FAILED : CH_SUCCEEDED)); @@ -169,7 +170,7 @@ change_file_mode (const char *file, const struct mode_change *changes, if (fail) { if (force_silent == 0) - error (0, errno, "%s", file); + error (0, saved_errno, "%s", file); errors = 1; } }