Avoid clobbering errno in warning().

This commit is contained in:
Todd C. Miller
2021-05-01 11:35:19 -06:00
parent bc82430a6f
commit 9077daee93

View File

@@ -183,6 +183,7 @@ static void
warning(const char *errstr, const char *fmt, va_list ap)
{
int cookie;
const int saved_errno = errno;
/* Set user locale if setter was specified. */
if (sudo_warn_setlocale != NULL)
@@ -246,6 +247,9 @@ warning(const char *errstr, const char *fmt, va_list ap)
/* Restore old locale as needed. */
if (sudo_warn_setlocale != NULL)
sudo_warn_setlocale(true, &cookie);
/* Do not clobber errno. */
errno = saved_errno;
}
/*