diff --git a/folly/FBVector.h b/folly/FBVector.h index fb611e56c1e..036882a4930 100644 --- a/folly/FBVector.h +++ b/folly/FBVector.h @@ -522,7 +522,9 @@ class fbvector : private boost::totally_ordered> { static void S_uninitialized_copy_bits(T* dest, const T* first, const T* last) { - std::memcpy((void*)dest, (void*)first, (last - first) * sizeof(T)); + if (last != first) { + std::memcpy((void*)dest, (void*)first, (last - first) * sizeof(T)); + } } static void @@ -530,7 +532,9 @@ class fbvector : private boost::totally_ordered> { std::move_iterator last) { T* bFirst = first.base(); T* bLast = last.base(); - std::memcpy((void*)dest, (void*)bFirst, (bLast - bFirst) * sizeof(T)); + if (bLast != bFirst) { + std::memcpy((void*)dest, (void*)bFirst, (bLast - bFirst) * sizeof(T)); + } } template