From bd5dbdb8131cde182c79070e12f9e64a549643cd Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 27 Apr 2022 13:49:30 +0900 Subject: kbx: Fix a race condition which results no status report. * kbx/keyboxd.h (kbxd_status_printf): New. * kbx/backend-support.c (be_return_pubkey): Use kbxd_status_printf. * kbx/kbxserver.c (kbxd_status_printf): New. * kbxd_start_command_handler (kbxd_start_command_handler): Don't use set_assuan_context_func, because the function pointer is shared by multiple threads. -- GnuPG-bug-id: 5948 Signed-off-by: NIIBE Yutaka --- kbx/backend-support.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'kbx/backend-support.c') diff --git a/kbx/backend-support.c b/kbx/backend-support.c index 1821129ea..7ab63985c 100644 --- a/kbx/backend-support.c +++ b/kbx/backend-support.c @@ -173,18 +173,18 @@ be_return_pubkey (ctrl_t ctrl, const void *buffer, size_t buflen, char hexubid[2*UBID_LEN+1]; bin2hex (ubid, UBID_LEN, hexubid); - err = status_printf (ctrl, "PUBKEY_INFO", "%d %s %c%c %d %d", - pubkey_type, hexubid, - is_ephemeral? 'e':'-', - is_revoked? 'r':'-', - uid_no, pk_no); + err = kbxd_status_printf (ctrl, "PUBKEY_INFO", "%d %s %c%c %d %d", + pubkey_type, hexubid, + is_ephemeral? 'e':'-', + is_revoked? 'r':'-', + uid_no, pk_no); if (err) goto leave; if (ctrl->no_data_return) err = 0; else - err = kbxd_write_data_line(ctrl, buffer, buflen); + err = kbxd_write_data_line (ctrl, buffer, buflen); leave: return err; -- cgit v1.2.3