From 8a88dab4631262995fd2f6d4cfe5278da026c23b Mon Sep 17 00:00:00 2001 From: Guilherme Maciel Ferreira Date: Wed, 31 Aug 2011 23:00:02 -0300 Subject: [PATCH] Fixed broken assert in copy constructor - The Payload member was initialized in the initializer list, so asserting Payload.get() == NULL was wrong! --- src/host/messagepayload.cpp | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) 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; } -- 1.7.1