diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2022-06-01 11:04:47 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2022-06-01 11:04:47 +0900 |
commit | d7c900a97b62a44d6667e065c6d2384136aefa63 (patch) | |
tree | d9aeb7c6dfe1558fc83591f50e8786b99e4855c5 | |
parent | 43f51d0ec6b50a6317a6e67642bc87b9ddf45927 (diff) | |
download | libgcrypt-d7c900a97b62a44d6667e065c6d2384136aefa63.tar.gz |
secmem: Clean up ERRNO handling.
* src/secmem.c (lock_pool_pages): Use ERR only for the return value
from mlock.
--
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
-rw-r--r-- | src/secmem.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/secmem.c b/src/secmem.c index 72ec9f2e..207c62e5 100644 --- a/src/secmem.c +++ b/src/secmem.c @@ -303,18 +303,14 @@ lock_pool_pages (void *p, size_t n) if (uid) { errno = EPERM; - err = errno; + err = -1; } else { err = no_mlock? 0 : mlock (p, n); - if (err && errno) - err = errno; } #else /* !HAVE_BROKEN_MLOCK */ err = no_mlock? 0 : mlock (p, n); - if (err && errno) - err = errno; #endif /* !HAVE_BROKEN_MLOCK */ /* Test whether we are running setuid(0). */ @@ -332,18 +328,18 @@ lock_pool_pages (void *p, size_t n) if (err) { - if (err != EPERM + if (errno != EPERM #ifdef EAGAIN /* BSD and also Linux may return this. */ - && err != EAGAIN + && errno != EAGAIN #endif #ifdef ENOSYS /* Some SCOs return this (function not implemented). */ - && err != ENOSYS + && errno != ENOSYS #endif #ifdef ENOMEM /* Linux might return this. */ - && err != ENOMEM + && errno != ENOMEM #endif ) - log_error ("can't lock memory: %s\n", strerror (err)); + log_error ("can't lock memory: %s\n", strerror (errno)); show_warning = 1; not_locked = 1; } |