summaryrefslogtreecommitdiff
path: root/src/secmem.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2006-10-19 10:34:46 +0000
committerWerner Koch <wk@gnupg.org>2006-10-19 10:34:46 +0000
commitaf772435207ecb41dd6855e2d3078ed3c2991a3e (patch)
treeebbb4f49c83ad23614536355ea8d70cd67ed967f /src/secmem.c
parent7b99fd7c97e11524f8eb1c9b158cf791f5a44caf (diff)
downloadlibgcrypt-af772435207ecb41dd6855e2d3078ed3c2991a3e.tar.gz
Let secmem init return an error if the memeory could not be locked.
Diffstat (limited to 'src/secmem.c')
-rw-r--r--src/secmem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/secmem.c b/src/secmem.c
index 6fa07a56..8afa86e0 100644
--- a/src/secmem.c
+++ b/src/secmem.c
@@ -75,6 +75,7 @@ static volatile int pool_is_mmapped;
/* FIXME? */
static int disable_secmem;
static int show_warning;
+static int not_locked;
static int no_warning;
static int suspend_warning;
@@ -246,6 +247,7 @@ lock_pool (void *p, size_t n)
)
log_error ("can't lock memory: %s\n", strerror (err));
show_warning = 1;
+ not_locked = 1;
}
#elif defined(HAVE_MLOCK)
@@ -299,6 +301,7 @@ lock_pool (void *p, size_t n)
)
log_error ("can't lock memory: %s\n", strerror (err));
show_warning = 1;
+ not_locked = 1;
}
#elif defined ( __QNX__ )
@@ -417,6 +420,7 @@ _gcry_secmem_get_flags (void)
flags = no_warning ? GCRY_SECMEM_FLAG_NO_WARNING : 0;
flags |= suspend_warning ? GCRY_SECMEM_FLAG_SUSPEND_WARNING : 0;
+ flags |= not_locked ? GCRY_SECMEM_FLAG_NOT_LOCKED : 0;
SECMEM_UNLOCK;