]> granicus.if.org Git - llvm/commitdiff
Don't pass nullptr into memcpy
authorVitaly Buka <vitalybuka@google.com>
Mon, 14 Nov 2016 22:05:19 +0000 (22:05 +0000)
committerVitaly Buka <vitalybuka@google.com>
Mon, 14 Nov 2016 22:05:19 +0000 (22:05 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286896 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/DebugInfo/MSF/ByteStream.h

index 34361ef9d9323bca23f951f88346e961442a4572..d8c1e6dd6cc4e4fc7287c173fe59b214ef3a5a4d 100644 (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())