diff --git a/CASA/micasacache/sscs_unx_ipc_client.c b/CASA/micasacache/sscs_unx_ipc_client.c index be280071..e0da7b0a 100644 --- a/CASA/micasacache/sscs_unx_ipc_client.c +++ b/CASA/micasacache/sscs_unx_ipc_client.c @@ -2148,22 +2148,22 @@ int32_t ipc_ReadBinaryKey } else { - //buffer allocated by application is not sufficient to hold the data. + //buffer allocated by application is not sufficient to hold the data. *bytesRequired = dataLen; { // Cleanup the channel by reading the remaining and return error. int n; - n = dataLen; + n = dataLen + MSG_DWORD_LEN; while(n) { int bytes = IPC_READ(ssHandle->platHandle, gpReplyBuf, MIN_REPLY_BUF_LEN); if( bytes > 0) - n -= MIN_REPLY_BUF_LEN; + n -= bytes; else break; } // Read the sscs return code also. - IPC_READ(ssHandle->platHandle, (Byte *) &sockReturn, MSG_DWORD_LEN); +// IPC_READ(ssHandle->platHandle, (Byte *) &sockReturn, MSG_DWORD_LEN); retCode = NSSCS_E_ENUM_BUFF_TOO_SHORT; break; }