From: Andrew Deason Date: Fri, 27 Jul 2018 18:36:15 +0000 (-0500) Subject: ubik: Save errno before logging X-Git-Tag: upstream/1.8.6_pre1^2~20 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e29b1c453d280dcde3c2731599fc7a0f64e4dc10;p=packages%2Fo%2Fopenafs.git ubik: Save errno before logging The value of errno can change after a syscall, and ViceLog may issue syscalls (such as write()). So, make sure we save errno here before calling ViceLog(). Issue spotted by kaduk@mit.edu. Reviewed-on: https://gerrit.openafs.org/13263 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit 9ff5f8f7601cc9761cc6a4ef0e8b7c8c2c8dddb5) Change-Id: I4f41ca758574e0d58659788467372af71a5f75f2 Reviewed-on: https://gerrit.openafs.org/13898 Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- diff --git a/src/ubik/remote.c b/src/ubik/remote.c index a4fbf8410..65dc411b8 100644 --- a/src/ubik/remote.c +++ b/src/ubik/remote.c @@ -508,6 +508,7 @@ SDISK_SendFile(struct rx_call *rxcall, afs_int32 file, fd = open(pbuffer, O_CREAT | O_RDWR | O_TRUNC, 0600); if (fd < 0) { code = errno; + ViceLog(0, ("Open error=%d\n", code)); goto failed_locked; } code = lseek(fd, HDRSIZE, 0);