37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
|
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
|
||
|
|
|