diff options
author | NIIBE Yutaka <[email protected]> | 2024-11-06 23:59:01 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-11-08 07:49:59 +0000 |
commit | 73c211889b801e8376f59bd6eff5661a4d14056f (patch) | |
tree | 908b1736f663b4347af75d1951ba2645e711c7fe | |
parent | scd: Serialize CARD access for send_card_and_app_list. (diff) | |
download | gnupg-73c211889b801e8376f59bd6eff5661a4d14056f.tar.gz gnupg-73c211889b801e8376f59bd6eff5661a4d14056f.zip |
scd: Fix getinfo active_apps.
* scd/app.c (send_card_and_app_list): Avoid locking recursively.
--
Fixes-commit: 25a140542a9186a27b7df9cd3ca3d478b59cbf1b
GnuPG-bug-id: 7323
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/app.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -2742,6 +2742,9 @@ send_card_and_app_list (ctrl_t ctrl, card_t wantcard, int with_apps) card_t *cardlist = NULL; int n, ncardlist; + if (wantcard) + return send_serialno_and_app_status (wantcard, with_apps, ctrl); + card_list_r_lock (); for (n=0, c = card_top; c; c = c->next) n++; @@ -2766,7 +2769,6 @@ send_card_and_app_list (ctrl_t ctrl, card_t wantcard, int with_apps) if (wantcard && wantcard != card) continue; - lock_card (card, ctrl); err = send_serialno_and_app_status (card, with_apps, ctrl); unlock_card (card); |