zero out pad bytes (supress purify warning)

This commit is contained in:
Jeff Hill
2001-08-24 16:30:02 +00:00
parent d556e3375c
commit 6d7cb09151
+15 -7
View File
@@ -149,15 +149,16 @@ int cas_copy_in_header (
ca_uint32_t responseSpecific, void **ppPayload )
{
unsigned msgSize;
ca_uint32_t alignedPayloadSize;
if ( payloadSize > UINT_MAX - sizeof ( caHdr ) - 8u ) {
return FALSE;
}
payloadSize = CA_MESSAGE_ALIGN ( payloadSize );
alignedPayloadSize = CA_MESSAGE_ALIGN ( payloadSize );
msgSize = payloadSize + sizeof ( caHdr );
if ( payloadSize >= 0xffff || nElem >= 0xffff ) {
msgSize = alignedPayloadSize + sizeof ( caHdr );
if ( alignedPayloadSize >= 0xffff || nElem >= 0xffff ) {
if ( ! CA_V49 ( pclient->minor_version_number ) ) {
return FALSE;
}
@@ -180,10 +181,10 @@ int cas_copy_in_header (
}
}
if ( payloadSize < 0xffff && nElem < 0xffff ) {
if ( alignedPayloadSize < 0xffff && nElem < 0xffff ) {
caHdr *pMsg = ( caHdr * ) &pclient->send.buf[pclient->send.stk];
pMsg->m_cmmd = htons ( response );
pMsg->m_postsize = htons ( ( ( ca_uint16_t ) payloadSize ) );
pMsg->m_postsize = htons ( ( ( ca_uint16_t ) alignedPayloadSize ) );
pMsg->m_dataType = htons ( dataType );
pMsg->m_count = htons ( ( ( ca_uint16_t ) nElem ) );
pMsg->m_cid = htonl ( cid );
@@ -201,13 +202,20 @@ int cas_copy_in_header (
pMsg->m_count = htons ( 0u );
pMsg->m_cid = htonl ( cid );
pMsg->m_available = htonl ( responseSpecific );
pW32[0] = htonl ( payloadSize );
pW32[0] = htonl ( alignedPayloadSize );
pW32[1] = htonl ( nElem );
if ( ppPayload ) {
*ppPayload = ( void * ) ( pW32 + 2 );
}
}
/* zero out pad bytes */
if ( alignedPayloadSize > payloadSize ) {
char *p = ( char * ) *ppPayload;
memset ( p + payloadSize, '\0',
alignedPayloadSize - payloadSize );
}
return TRUE;
}