diff --git a/include/boost/container/detail/copy_move_algo.hpp b/include/boost/container/detail/copy_move_algo.hpp index 38d3b79..b71560d 100644 --- a/include/boost/container/detail/copy_move_algo.hpp +++ b/include/boost/container/detail/copy_move_algo.hpp @@ -177,8 +177,7 @@ inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW value_type *const dest_raw = boost::movelib::iterator_to_raw_pointer(r); const value_type *const beg_raw = boost::movelib::iterator_to_raw_pointer(f); const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l); - if(BOOST_LIKELY(beg_raw != end_raw)){ - BOOST_ASSERT(beg_raw != 0); + if(BOOST_LIKELY(beg_raw != end_raw && dest_raw && beg_raw)){ const typename boost::container::iterator_traits::difference_type n = end_raw - beg_raw; std::memmove(dest_raw, beg_raw, sizeof(value_type)*n); boost::container::iterator_advance(r, n);