I have found a problem with the latest pcsclite 1.1.0 and a serial reader with more than one slot.
When I stop the pcscd daemon with a TERM signal or press Ctrl+C on the not daemon version I always got a "Segmentation Fault". The error is reproducible with the attached "empty" driver that only reports the presence of 4 empty slots. The log of pcscd is : root@amlinux:~# pcscd -d stderr pcscdaemon.c:253 main: debug messages to stderr readerfactory.c:1269 RFInitializeReader: Attempting startup of Test 0 0. readerfactory.c:1012 RFBindFunctions: Loading IFD Handler 2.0 readerfactory.c:1012 RFBindFunctions: Loading IFD Handler 2.0 readerfactory.c:1012 RFBindFunctions: Loading IFD Handler 2.0 readerfactory.c:1012 RFBindFunctions: Loading IFD Handler 2.0 pcscdaemon.c:413 main: pcsc-lite daemon ready. <Press Ctrl+C> pcscdaemon.c:470 Preparing for suicide winscard_msg.c:248 SHMProcessEvents: Select returns with failure: Interrupted system call pcscdaemon.c:174 SVCServiceRun: Error in SHMProcessEvents readerfactory.c:1561 RFCleanupReaders: entering cleaning function readerfactory.c:1566 Stopping reader: Test 0 0 eventhandler.c:117 EHDestroyEventHandler: Stomping thread. eventhandler.c:142 EHDestroyEventHandler: Thread stomped. readerfactory.c:1319 RFUninitializeReader: Attempting shutdown of Test 0 0. eventhandler.c:117 EHDestroyEventHandler: Stomping thread. Segmentation fault The system used is : - Slakware 8.0 - linux kernel 2.4.17 - pcsclite 1.1.0 - gcc 2.95.3 - glibc 2.2.3 The pcsclite was configured with : ./configure enable linux usb capability: true enable threadsafe client : true enable debug messages : true enable ATR parsing messages: false enable SCF reader support : false disable musclecard : false enable confdir : /etc (default) enable runpid : false The file /etc/reader.conf contains : FRIENDLYNAME "Test" DEVICENAME TEST LIBPATH /usr/local/pcsc/drivers/libtest.so CHANNELID 0x0 (See attached file: test.zip)
test.zip
Description: Zip archive
