diff --git a/src/libopensc/pkcs15.c b/src/libopensc/pkcs15.c index 6b971c9c..a2eb4e76 100644 --- a/src/libopensc/pkcs15.c +++ b/src/libopensc/pkcs15.c @@ -934,7 +934,7 @@ int sc_pkcs15_find_pin_by_auth_id(struct sc_pkcs15_card *p15card, } int sc_pkcs15_find_pin_by_reference(struct sc_pkcs15_card *p15card, - int reference, + const sc_path_t *path, int reference, struct sc_pkcs15_object **out) { struct sc_pkcs15_search_key sk; @@ -942,6 +942,7 @@ int sc_pkcs15_find_pin_by_reference(struct sc_pkcs15_card *p15card, memset(&sk, 0, sizeof(sk)); sk.match_reference = 1; sk.reference = reference; + sk.path = path; return find_by_key(p15card, SC_PKCS15_TYPE_AUTH_PIN, &sk, out); } diff --git a/src/libopensc/pkcs15.h b/src/libopensc/pkcs15.h index e65c8484..6712b65f 100644 --- a/src/libopensc/pkcs15.h +++ b/src/libopensc/pkcs15.h @@ -469,7 +469,7 @@ int sc_pkcs15_find_pin_by_auth_id(struct sc_pkcs15_card *card, const struct sc_pkcs15_id *id, struct sc_pkcs15_object **out); int sc_pkcs15_find_pin_by_reference(struct sc_pkcs15_card *card, - int reference, + const sc_path_t *path, int reference, struct sc_pkcs15_object **out); int sc_pkcs15_find_so_pin(struct sc_pkcs15_card *card, struct sc_pkcs15_object **out);