diff --git a/openssh-7.6p1-pkcs11-uri.patch b/openssh-7.6p1-pkcs11-uri.patch index 3343730..9dac289 100644 --- a/openssh-7.6p1-pkcs11-uri.patch +++ b/openssh-7.6p1-pkcs11-uri.patch @@ -3989,7 +3989,7 @@ diff -up openssh/ssh-pkcs11.c.pkcs11-uri openssh/ssh-pkcs11.c free(attribs[i].pValue); } if ((rv = f->C_FindObjectsFinal(session)) != CKR_OK) -@@ -592,126 +750,239 @@ pkcs11_fetch_keys_filter(struct pkcs11_p +@@ -592,126 +750,240 @@ pkcs11_fetch_keys_filter(struct pkcs11_p int pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) { @@ -4276,6 +4276,7 @@ diff -up openssh/ssh-pkcs11.c.pkcs11-uri openssh/ssh-pkcs11.c - free(p->slotlist); - free(p->slotinfo); - free(p); ++ TAILQ_REMOVE(&pkcs11_providers, p, next); + pkcs11_provider_unref(p); } - if (handle)