Main changes:
- src/ip/ipv6header.cpp: Remove BOOST_ASSERT with bytes_type::size()
- src/config/configurationoptions.cpp: Use boost::shared_ptr
- src/tcp/tcpheader.cpp: Remove BOOST_ASSERT with bytes_type::size()
- src/host/pingerfactory.cpp: Fix system_error header include path
- src/host/networkinterface.hpp: Socket.native() -> Socket.native_handle()
- src/icmp/icmppinger.cpp: Use boost::function
- src/tcp/tcppinger.cpp: Use boost::function
- lib/boost-net-dns/boost/net/network_array.hpp: Use .data() for bytes_type
Bug fixes in src/host/messagepayload.cpp:
- Fix out-of-bounds access in append() debug assertion
(extra_data_end used invalid index instead of data() + size())
- operator= uses resize() to properly grow vector when needed
size_t old_payload_size_in_bytes = PayloadSizeInBytes;
if ( new_payload_size_in_bytes > old_payload_size_in_bytes )
{
- Payload.resize( new_payload_size_in_bytes );
+ Payload.reserve( new_payload_size_in_bytes );
PayloadSizeInBytes = new_payload_size_in_bytes;
}
BOOST_ASSERT( PayloadSizeInBytes == ( old_payload_size_in_bytes + extra_payload_size_in_bytes ) );
uint8_t *extra_data_begin = &Payload[ old_payload_size_in_bytes ];
- uint8_t *extra_data_end = &Payload[ old_payload_size_in_bytes + extra_payload_size_in_bytes ];
+ uint8_t *extra_data_end = Payload.data() + Payload.size();
BOOST_ASSERT( equal( extra_data_begin, extra_data_end, extra_payload_data ) );
#endif
}