aboutsummaryrefslogtreecommitdiffstats
path: root/agent/cache.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-02-01 07:18:44 +0000
committerWerner Koch <[email protected]>2017-02-01 07:18:44 +0000
commitf518196ca6202ae97a1e8494afe25e5fbb0e9d47 (patch)
treedf8634efe80137bbe2b3b07c1e1c848229f6df8d /agent/cache.c
parentscd: Fix regression tracking the connection count. (diff)
downloadgnupg-f518196ca6202ae97a1e8494afe25e5fbb0e9d47.tar.gz
gnupg-f518196ca6202ae97a1e8494afe25e5fbb0e9d47.zip
Fix explanation of commit e175152ef7515921635bf1e00383e812668d13fc.
--
Diffstat (limited to 'agent/cache.c')
-rw-r--r--agent/cache.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/agent/cache.c b/agent/cache.c
index 4cb158c62..41e0905b0 100644
--- a/agent/cache.c
+++ b/agent/cache.c
@@ -485,10 +485,12 @@ agent_store_cache_hit (const char *key)
*
* Background: xtrystrdup uses gcry_strdup which may use the secure
* memory allocator of Libgcrypt. That allocator takes locks and
- * since version 1.14 libgpg-error is nPth aware and thus talking a
+ * since version 1.14 libgpg-error is nPth aware and thus taking a
* lock may now lead to thread switch. Note that this only happens
- * when secure memory is allocated, the standard allocator uses
- * malloc which is not nPth aware.
+ * when secure memory is _allocated_ (the standard allocator uses
+ * malloc which is not nPth aware) but not when calling _xfree_
+ * because gcry_free needs to check whether the pointer is in secure
+ * memory and thus needs to take a lock.
*/
new = key ? xtrystrdup (key) : NULL;