pkcs15init/keycache.c: named_pin problem

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

pkcs15init/keycache.c: named_pin problem

Tarasov Viktor
Hello,

When forgetting the named PIN, that has reference which is not equal to -1,
the corresponding named_pin[] entry is not set to NULL.
It concerns the PINs for which both 'named_pin[]' and '*secret_cache'
have an entry.
(./opensc-0.11.1/src/pkcs15init/keycache.c +334)

In my case it results in segmentation fault.
(I use in loop the pkcs15init library for the smartcard initialisation.)

Here is the patch that solves this problem for me.

Kind wishes,
Viktor.


diff -NaurbB opensc-0.11.1.orig/src/pkcs15init/keycache.c
opensc-0.11.1/src/pkcs15init/keycache.c
--- opensc-0.11.1.orig/src/pkcs15init/keycache.c        2005-12-29
13:36:29.000000000 +0100
+++ opensc-0.11.1/src/pkcs15init/keycache.c     2006-10-27
16:13:03.000000000 +0200
@@ -331,7 +331,7 @@
        while ((s = *prev) != NULL) {
                if (__match_entry(s, type, ref, path, 1)) {
                        *prev = s->next;
-                       if (s->named_pin != -1 && s->ref == -1)
+                       if (s->named_pin >= 0 && s->named_pin <
SC_PKCS15INIT_NPINS)
                                named_pin[s->named_pin] = NULL;
                        sc_mem_clear(s, sizeof(*s));
                        free(s);


_______________________________________________
opensc-devel mailing list
[hidden email]
http://www.opensc-project.org/mailman/listinfo/opensc-devel