[Pcsclite-cvs-commit] r4967 - in /trunk/PCSC/src: winscard_msg.h winscard_svc.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Sat May 29 11:28:18 UTC 2010
Author: rousseau
Date: Sat May 29 11:28:16 2010
New Revision: 4967
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4967
Log:
Avoids a crash if a client sends a unknown command.
Thanks to Martin Vogt for the bug report
http://archives.neohapsis.com/archives/dev/muscle/2010-q2/0096.html
Modified:
trunk/PCSC/src/winscard_msg.h
trunk/PCSC/src/winscard_svc.c
Modified: trunk/PCSC/src/winscard_msg.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_msg.h?rev=4967&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_msg.h (original)
+++ trunk/PCSC/src/winscard_msg.h Sat May 29 11:28:16 2010
@@ -56,6 +56,7 @@
*/
enum pcsc_msg_commands
{
+ CMD_ENUM_FIRST,
SCARD_ESTABLISH_CONTEXT = 0x01, /**< used by SCardEstablishContext() */
SCARD_RELEASE_CONTEXT = 0x02, /**< used by SCardReleaseContext() */
SCARD_LIST_READERS = 0x03, /**< used by SCardListReaders() */
@@ -75,7 +76,8 @@
CMD_VERSION = 0x11, /**< get the client/server protocol version */
CMD_GET_READERS_STATE = 0x12, /**< get the readers state */
CMD_WAIT_READER_STATE_CHANGE = 0x13, /**< wait for a reader state change */
- CMD_STOP_WAITING_READER_STATE_CHANGE = 0x14 /**< stop waiting for a reader state change */
+ CMD_STOP_WAITING_READER_STATE_CHANGE = 0x14, /**< stop waiting for a reader state change */
+ CMD_ENUM_LAST
};
struct client_struct
Modified: trunk/PCSC/src/winscard_svc.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.c?rev=4967&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_svc.c (original)
+++ trunk/PCSC/src/winscard_svc.c Sat May 29 11:28:16 2010
@@ -303,8 +303,10 @@
goto exit;
}
- Log3(PCSC_LOG_DEBUG, "Received command: %s from client %d",
- CommandsText[header.command], filedes);
+ if ((header.command > CMD_ENUM_FIRST)
+ && (header.command < CMD_ENUM_LAST))
+ Log3(PCSC_LOG_DEBUG, "Received command: %s from client %d",
+ CommandsText[header.command], filedes);
switch (header.command)
{
More information about the Pcsclite-cvs-commit
mailing list