From: Christian Brauner Date: Mon, 3 Sep 2018 12:19:06 +0000 (+0200) Subject: log: save errno on strerror_r() X-Git-Tag: lxc-3.1.0~118^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a285b30814a8bcf149fd9e4a42fe5520b34264fb;p=thirdparty%2Flxc.git log: save errno on strerror_r() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/log.h b/src/lxc/log.h index 43199bea5..1050dc604 100644 --- a/src/lxc/log.h +++ b/src/lxc/log.h @@ -344,7 +344,9 @@ ATTR_UNUSED static inline void LXC_##LEVEL(struct lxc_log_locinfo* locinfo, \ char errno_buf[MAXPATHLEN / 2] = {"Failed to get errno string"}; \ char *ptr = NULL; \ { \ + int saved_errno = errno; \ ptr = strerror_r(errno, errno_buf, sizeof(errno_buf)); \ + errno = saved_errno; \ if (!ptr) \ ptr = errno_buf; \ } @@ -353,7 +355,9 @@ ATTR_UNUSED static inline void LXC_##LEVEL(struct lxc_log_locinfo* locinfo, \ char errno_buf[MAXPATHLEN / 2] = {"Failed to get errno string"}; \ char *ptr = errno_buf; \ { \ + int saved_errno = errno; \ (void)strerror_r(errno, errno_buf, sizeof(errno_buf)); \ + errno = saved_errno; \ } #endif #elif ENFORCE_THREAD_SAFETY