version 1.6, 2010/06/08 21:32:19 |
version 1.7, 2013/05/17 00:13:14 |
|
|
if (--p->refcount <= 0) { |
if (--p->refcount <= 0) { |
if (p->valid) |
if (p->valid) |
error("pkcs11_provider_unref: %p still valid", p); |
error("pkcs11_provider_unref: %p still valid", p); |
xfree(p->slotlist); |
free(p->slotlist); |
xfree(p->slotinfo); |
free(p->slotinfo); |
xfree(p); |
free(p); |
} |
} |
} |
} |
|
|
|
|
rv = k11->orig_finish(rsa); |
rv = k11->orig_finish(rsa); |
if (k11->provider) |
if (k11->provider) |
pkcs11_provider_unref(k11->provider); |
pkcs11_provider_unref(k11->provider); |
if (k11->keyid) |
free(k11->keyid); |
xfree(k11->keyid); |
free(k11); |
xfree(k11); |
|
} |
} |
return (rv); |
return (rv); |
} |
} |
|
|
return (-1); /* bail out */ |
return (-1); /* bail out */ |
if ((rv = f->C_Login(si->session, CKU_USER, pin, strlen(pin))) |
if ((rv = f->C_Login(si->session, CKU_USER, pin, strlen(pin))) |
!= CKR_OK) { |
!= CKR_OK) { |
xfree(pin); |
free(pin); |
error("C_Login failed: %lu", rv); |
error("C_Login failed: %lu", rv); |
return (-1); |
return (-1); |
} |
} |
xfree(pin); |
free(pin); |
si->logged_in = 1; |
si->logged_in = 1; |
} |
} |
key_filter[1].pValue = k11->keyid; |
key_filter[1].pValue = k11->keyid; |
|
|
} |
} |
} |
} |
for (i = 0; i < 3; i++) |
for (i = 0; i < 3; i++) |
xfree(attribs[i].pValue); |
free(attribs[i].pValue); |
} |
} |
if ((rv = f->C_FindObjectsFinal(session)) != CKR_OK) |
if ((rv = f->C_FindObjectsFinal(session)) != CKR_OK) |
error("C_FindObjectsFinal failed: %lu", rv); |
error("C_FindObjectsFinal failed: %lu", rv); |
|
|
if (need_finalize && (rv = f->C_Finalize(NULL)) != CKR_OK) |
if (need_finalize && (rv = f->C_Finalize(NULL)) != CKR_OK) |
error("C_Finalize failed: %lu", rv); |
error("C_Finalize failed: %lu", rv); |
if (p) { |
if (p) { |
if (p->slotlist) |
free(p->slotlist); |
xfree(p->slotlist); |
free(p->slotinfo); |
if (p->slotinfo) |
free(p); |
xfree(p->slotinfo); |
|
xfree(p); |
|
} |
} |
if (handle) |
if (handle) |
dlclose(handle); |
dlclose(handle); |