[Pcsclite-cvs-commit] PCSC/src readerfactory.h,1.16,1.17 readerfactory.c,1.53,1.54 pcscdaemon.c,1.53,1.54
rousseau@haydn.debian.org
rousseau@haydn.debian.org
Update of /cvsroot/pcsclite/PCSC/src
In directory haydn:/tmp/cvs-serv12920
Modified Files:
readerfactory.h readerfactory.c pcscdaemon.c
Log Message:
do not use a dwAllocNum argument in RFAllocateReaderSpace() since the
number of contexts is _fixed_ by the declaration of sReadersContexts[].
It may be interpreted as a (false) possibility of dynamicity and will then
cause a buffer overflow if dwAllocNum > PCSCLITE_MAX_READERS_CONTEXTS
Index: readerfactory.h
===================================================================
RCS file: /cvsroot/pcsclite/PCSC/src/readerfactory.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- readerfactory.h 17 Jun 2004 06:31:07 -0000 1.16
+++ readerfactory.h 17 Jun 2004 08:41:04 -0000 1.17
@@ -122,7 +122,7 @@
typedef struct ReaderContext READER_CONTEXT, *PREADER_CONTEXT;
- LONG RFAllocateReaderSpace(DWORD);
+ LONG RFAllocateReaderSpace(void);
LONG RFAddReader(LPTSTR, DWORD, LPTSTR, LPTSTR);
LONG RFRemoveReader(LPTSTR, DWORD);
LONG RFSetReaderName(PREADER_CONTEXT, LPTSTR, LPTSTR, DWORD, DWORD);
Index: readerfactory.c
===================================================================
RCS file: /cvsroot/pcsclite/PCSC/src/readerfactory.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- readerfactory.c 17 Jun 2004 08:11:22 -0000 1.53
+++ readerfactory.c 17 Jun 2004 08:41:04 -0000 1.54
@@ -40,15 +40,14 @@
static PREADER_CONTEXT sReadersContexts[PCSCLITE_MAX_READERS_CONTEXTS];
static DWORD dwNumReadersContexts = 0;
-LONG RFAllocateReaderSpace(DWORD dwAllocNum)
+LONG RFAllocateReaderSpace(void)
{
int i; /* Counter */
- LONG rv; /* Return tester */
/*
* Allocate each reader structure
*/
- for (i = 0; i < dwAllocNum; i++)
+ for (i = 0; i < PCSCLITE_MAX_READERS_CONTEXTS; i++)
{
sReadersContexts[i] = (PREADER_CONTEXT) malloc(sizeof(READER_CONTEXT));
(sReadersContexts[i])->vHandle = NULL;
@@ -57,9 +56,7 @@
/*
* Create public event structures
*/
- rv = EHInitializeEventStructures();
-
- return rv;
+ return EHInitializeEventStructures();
}
LONG RFAddReader(LPTSTR lpcReader, DWORD dwPort, LPTSTR lpcLibrary, LPTSTR lpcDevice)
Index: pcscdaemon.c
===================================================================
RCS file: /cvsroot/pcsclite/PCSC/src/pcscdaemon.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- pcscdaemon.c 17 Jun 2004 06:44:01 -0000 1.53
+++ pcscdaemon.c 17 Jun 2004 08:41:04 -0000 1.54
@@ -397,7 +397,7 @@
/*
* Allocate memory for reader structures
*/
- RFAllocateReaderSpace(PCSCLITE_MAX_READERS_CONTEXTS);
+ RFAllocateReaderSpace();
/*
* Grab the information from the reader.conf