From: Guilherme Maciel Ferreira Date: Thu, 1 Sep 2011 02:00:02 +0000 (-0300) Subject: Fixed broken assert in copy constructor X-Git-Tag: v1.2~65 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=8a88dab4631262995fd2f6d4cfe5278da026c23b;p=pingcheck Fixed broken assert in copy constructor - The Payload member was initialized in the initializer list, so asserting Payload.get() == NULL was wrong! --- diff --git a/src/host/messagepayload.cpp b/src/host/messagepayload.cpp index 605d4cf..743cc34 100644 --- a/src/host/messagepayload.cpp +++ b/src/host/messagepayload.cpp @@ -32,7 +32,8 @@ MessagePayload::MessagePayload( PayloadSizeInBytes( payload_size_in_bytes ), Payload( new uint8_t[ payload_size_in_bytes ] ) { - BOOST_ASSERT( 0 < payload_size_in_bytes ); + BOOST_ASSERT( 0 < PayloadSizeInBytes ); + BOOST_ASSERT( Payload.get() != NULL ); fill( Payload.get(), Payload.get() + PayloadSizeInBytes, 0 ); } @@ -49,11 +50,12 @@ MessagePayload::MessagePayload( Payload( new uint8_t[ other.PayloadSizeInBytes ] ) { BOOST_ASSERT( 0 < PayloadSizeInBytes ); - BOOST_ASSERT( PayloadSizeInBytes == other.PayloadSizeInBytes ); - BOOST_ASSERT( Payload.get() == NULL ); + BOOST_ASSERT( Payload.get() != NULL ); BOOST_ASSERT( other.Payload.get() != NULL ); copy( other.Payload.get(), other.Payload.get() + PayloadSizeInBytes, Payload.get() ); + + BOOST_ASSERT( PayloadSizeInBytes == other.PayloadSizeInBytes ); } MessagePayload::~MessagePayload() @@ -71,12 +73,13 @@ MessagePayload::~MessagePayload() MessagePayload& MessagePayload::operator=( const MessagePayload &other ) { BOOST_ASSERT( 0 < PayloadSizeInBytes ); - BOOST_ASSERT( PayloadSizeInBytes == other.PayloadSizeInBytes ); BOOST_ASSERT( Payload.get() != NULL ); BOOST_ASSERT( other.Payload.get() != NULL ); copy( other.Payload.get(), other.Payload.get() + PayloadSizeInBytes, Payload.get() ); + BOOST_ASSERT( PayloadSizeInBytes == other.PayloadSizeInBytes ); + return *this; }