PTRDIFF_MAX
if (len >= SIZE_MAX / 2 || len > PTRDIFF_MAX)
(ptrdiff_t)PTRDIFF_MAX, (ptrdiff_t)PTRDIFF_MAX);