pcsc-lite/0004-EHUnregisterClientForEvent-correctly-handle-EHTryToU.patch

37 lines
1.2 KiB
Diff
Raw Normal View History

From 278b55a87a5f4b9bd86513f7d8f9ab7d66558602 Mon Sep 17 00:00:00 2001
From: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Sat, 8 Aug 2020 17:37:40 +0200
Subject: [PATCH 05/13] EHUnregisterClientForEvent: correctly handle
EHTryToUnregisterClientForEvent
EHTryToUnregisterClientForEvent() returns SCARD_S_SUCCESS or
SCARD_F_INTERNAL_ERROR but never a negative value.
Thanks to Valerii Zapodovnikov for the bug report
"Code cleanup"
https://salsa.debian.org/rousseau/PCSC/-/issues/19
" https://salsa.debian.org/rousseau/PCSC/-/blob/master/src/eventhandler.c#L107
rv < 0 is always false, because on line 94 there SCARD_F_INTERNAL_ERROR
is ((LONG)0x80100001 and SCARD_S_SUCCESS is ((LONG)0x00000000). "
---
src/eventhandler.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/eventhandler.c b/src/eventhandler.c
index 932d30b..8d450d5 100644
--- a/src/eventhandler.c
+++ b/src/eventhandler.c
@@ -104,7 +104,7 @@ LONG EHUnregisterClientForEvent(int32_t filedes)
{
LONG rv = EHTryToUnregisterClientForEvent(filedes);
- if (rv < 0)
+ if (rv != SCARD_S_SUCCESS)
Log2(PCSC_LOG_ERROR, "Can't remove client: %d", filedes);
return rv;
--
1.8.3.1