Initialize SCARD_READERSTATE
- Not doing so was leading to random memory corruption errors.
This commit is contained in:
@@ -255,7 +255,7 @@ void* CardReader::HandlerFunction(void* arg) {
|
|||||||
/* Unlock the mutex */
|
/* Unlock the mutex */
|
||||||
pthread_mutex_unlock(&reader->m_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.szReader = reader->m_name.c_str();
|
||||||
card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE;
|
card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE;
|
||||||
|
|
||||||
@@ -478,8 +478,8 @@ Handle<Value> CardReader::CreateBufferInstance(char* data, unsigned long size) {
|
|||||||
Handle<Value> argv[3] = {
|
Handle<Value> argv[3] = {
|
||||||
Buffer::New(data, size)->handle_,
|
Buffer::New(data, size)->handle_,
|
||||||
Integer::New(size),
|
Integer::New(size),
|
||||||
Integer::New(0)
|
Integer::New(0)
|
||||||
};
|
};
|
||||||
|
|
||||||
return b->NewInstance(3, argv);
|
return b->NewInstance(3, argv);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ void* PCSCLite::HandlerFunction(void* arg) {
|
|||||||
PCSCLite* pcsclite = async_baton->pcsclite;
|
PCSCLite* pcsclite = async_baton->pcsclite;
|
||||||
async_baton->async_result = new AsyncResult();
|
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.szReader = "\\\\?PnP?\\Notification";
|
||||||
card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE;
|
card_reader_state.dwCurrentState = SCARD_STATE_UNAWARE;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user