From effbc2a7b613c4a0083fbf0f15757c454dbb7e75 Mon Sep 17 00:00:00 2001 From: nils Date: Sun, 18 Apr 2004 18:42:47 +0000 Subject: [PATCH] remove pointer to freed secret object Patch supplied by Victor Tarasov git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1771 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/pkcs15init/keycache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pkcs15init/keycache.c b/src/pkcs15init/keycache.c index a63e42b7..4a433b7e 100644 --- a/src/pkcs15init/keycache.c +++ b/src/pkcs15init/keycache.c @@ -324,6 +324,8 @@ sc_keycache_forget_key(const sc_path_t *path, int type, int ref) while ((s = *prev) != NULL) { if (__match_entry(s, type, ref, path, 1)) { *prev = s->next; + if (s->named_pin != -1 && s->ref == -1) + named_pin[s->named_pin] = NULL; memset(s, 0, sizeof(*s)); free(s); } else {