{
     BOOST_ASSERT( offset < PayloadSizeInBytes );
 
-    return Payload[ offset ];
+    ptrdiff_t index = static_cast<ptrdiff_t>(offset);
+    return Payload[ index ];
 }
 
 /**
 {
     BOOST_ASSERT( offset < PayloadSizeInBytes );
 
-    return Payload[ offset ];
+    ptrdiff_t index = static_cast<ptrdiff_t>(offset);
+    return Payload[ index ];
 } //lint !e1762
 
 /**
 
     int current_byte = first_byte;
 
-    uint64_t value = static_cast<uint32_t>( Payload[ current_byte ] << 24 );
+    uint64_t value = static_cast<uint32_t>( Payload[ current_byte ] ) << 24;
     value += static_cast<uint32_t>( Payload[ ++current_byte ] << 16 );
     value += static_cast<uint32_t>( Payload[ ++current_byte ] << 8 );
     value += static_cast<uint32_t>( Payload[ ++current_byte ] );