From 0055e02905bf50221d5d0b44fdacfbcf529dadab Mon Sep 17 00:00:00 2001 From: lotodore Date: Mon, 17 Jan 2011 11:05:59 +0000 Subject: [PATCH] Fixing receive function. --- src/connectivity.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/connectivity.cpp b/src/connectivity.cpp index a6239329..8139ae73 100644 --- a/src/connectivity.cpp +++ b/src/connectivity.cpp @@ -59,7 +59,7 @@ receiveMessage(tcp::socket &socket) do { asn_dec_rval_t retVal = ber_decode(0, &asn_DEF_PokerTHMessage, (void **)&msg, recBuf.data(), recBufPos); - if(retVal.code == RC_OK) + if(retVal.code == RC_OK && msg != NULL) { if (retVal.consumed < recBufPos) { @@ -75,9 +75,10 @@ receiveMessage(tcp::socket &socket) { // Free the partially decoded message (if applicable). ASN_STRUCT_FREE(asn_DEF_PokerTHMessage, msg); + msg = NULL; recBufPos += socket.receive(boost::asio::buffer(recBuf.c_array() + recBufPos, BUF_SIZE - recBufPos)); } - } while (recBufPos < BUF_SIZE && msg == NULL); + } while (msg == NULL); return msg; }