Fixed broken assert in copy constructor
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Thu, 1 Sep 2011 02:00:02 +0000 (23:00 -0300)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Thu, 1 Sep 2011 02:00:02 +0000 (23:00 -0300)
- The Payload member was initialized in the initializer list, so asserting Payload.get() == NULL was wrong!

src/host/messagepayload.cpp

index 605d4cf..743cc34 100644 (file)
@@ -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;
 }