Don't pass nullptr into memcpy

Summary:
It's undefined according UBSAN.
Not sure which CL caused test failures, but seems writeBytes for empty buffer
should be OK.

Reviewers: rnk, zturner

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D26638

llvm-svn: 286896
This commit is contained in:
Vitaly Buka 2016-11-14 22:05:19 +00:00
parent 11e60ff7da
commit 1eac0ea7e0
1 changed files with 3 additions and 0 deletions

View File

@ -91,6 +91,9 @@ public:
uint32_t getLength() const override { return ImmutableStream.getLength(); }
Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Buffer) const override {
if (Buffer.empty())
return Error::success();
if (Data.size() < Buffer.size())
return make_error<MSFError>(msf_error_code::insufficient_buffer);
if (Offset > Buffer.size() - Data.size())