tree 6df9396c4092760f15e50dbc74cdf6ac30ac79cb
parent 12e6b20af2485dd5b250425b265e76ba54a6d9d8
author bnc <bnc@google.com> 1652737495 -0700
committer Copybara-Service <copybara-worker@google.com> 1652737635 -0700

Do not call memcpy with nullptr in SimpleBuffer::Read() and Write().

"If either dest or src is an invalid or null pointer, the behavior is undefined,
even if count is zero" according to
https://en.cppreference.com/w/cpp/string/byte/memcpy.

In Write(), if `size` is positive, then Reserve() guarantees that destination
will never be nullptr.  If source is nullptr and `size` is zero, then the newly
added early return prevents the memcpy call.  If source is nullptr and `size` is
not zero, that is the caller's fault.

In Read(), if `bytes` is nullptr and `size` is zero, then a newly added early
return prevents the memcpy call.  If `bytes` is nullptr and `size` is not zero,
that is the caller's fault.  If `read_ptr` is nullptr, then `read_size` will be
zero, triggering the newly added early return path.

This is covered by existing tests in UBSAN mode, which are never actually ran in
UBSAN mode, but will be on Envoy CI soon.

PiperOrigin-RevId: 449057984
