realloc: ASSUME non-NULL source pointer for memcpy

NULL has size zero, which rounds up to zero, and so would have been handled.
This commit is contained in:
Nathaniel Wesley Filardo 2023-11-12 00:22:50 +00:00 коммит произвёл Nathaniel Filardo
Родитель 640cacf90e
Коммит f3e470c3e4
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -74,7 +74,10 @@ namespace snmalloc::libc
// Guard memcpy as GCC is assuming not nullptr for ptr after the memcpy // Guard memcpy as GCC is assuming not nullptr for ptr after the memcpy
// otherwise. // otherwise.
if (SNMALLOC_UNLIKELY(sz != 0)) if (SNMALLOC_UNLIKELY(sz != 0))
{
SNMALLOC_ASSUME(ptr != nullptr);
::memcpy(p, ptr, sz); ::memcpy(p, ptr, sz);
}
a.dealloc(ptr); a.dealloc(ptr);
} }
else if (SNMALLOC_LIKELY(size == 0)) else if (SNMALLOC_LIKELY(size == 0))