From 1844bf1f3a75185ef4a114609136a3224da16ea6 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Thu, 8 Aug 2013 13:30:13 +0200 Subject: [PATCH] Initialize SCARD_READERSTATE - Not doing so was leading to random memory corruption errors. --- src/cardreader.cpp | 8 ++++---- src/pcsclite.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cardreader.cpp b/src/cardreader.cpp index 9a1da67..c607ed0 100644 --- a/src/cardreader.cpp +++ b/src/cardreader.cpp @@ -255,7 +255,7 @@ void* CardReader::HandlerFunction(void* arg) { /* Unlock the mutex */ pthread_mutex_unlock(&reader->m_mutex); - SCARD_READERSTATE card_reader_state; + SCARD_READERSTATE card_reader_state = { 0 }; card_reader_state.szReader = reader->m_name.c_str(); card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE; @@ -478,8 +478,8 @@ Handle CardReader::CreateBufferInstance(char* data, unsigned long size) { Handle argv[3] = { Buffer::New(data, size)->handle_, Integer::New(size), - Integer::New(0) + Integer::New(0) }; - + return b->NewInstance(3, argv); -} \ No newline at end of file +} diff --git a/src/pcsclite.cpp b/src/pcsclite.cpp index ed5f949..fad4480 100644 --- a/src/pcsclite.cpp +++ b/src/pcsclite.cpp @@ -123,7 +123,7 @@ void* PCSCLite::HandlerFunction(void* arg) { PCSCLite* pcsclite = async_baton->pcsclite; async_baton->async_result = new AsyncResult(); - SCARD_READERSTATE card_reader_state; + SCARD_READERSTATE card_reader_state = { 0 }; card_reader_state.szReader = "\\\\?PnP?\\Notification"; card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE;