summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2022-06-01 11:04:47 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2022-06-01 11:04:47 +0900
commitd7c900a97b62a44d6667e065c6d2384136aefa63 (patch)
treed9aeb7c6dfe1558fc83591f50e8786b99e4855c5 /src
parent43f51d0ec6b50a6317a6e67642bc87b9ddf45927 (diff)
downloadlibgcrypt-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>
Diffstat (limited to 'src')
-rw-r--r--src/secmem.c16
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;
}