diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2016-11-14 22:05:19 +0000 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2016-11-14 22:05:19 +0000 |
| commit | 1eac0ea7e0bb5f6c094e68ab09d2c377f0377a7d (patch) | |
| tree | 80ea762b80c95603836964b1ee15a82903ad146b | |
| parent | 11e60ff7da6c43a36b88fc970f8bded68afed200 (diff) | |
| download | bcm5719-llvm-1eac0ea7e0bb5f6c094e68ab09d2c377f0377a7d.tar.gz bcm5719-llvm-1eac0ea7e0bb5f6c094e68ab09d2c377f0377a7d.zip | |
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
| -rw-r--r-- | llvm/include/llvm/DebugInfo/MSF/ByteStream.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/include/llvm/DebugInfo/MSF/ByteStream.h b/llvm/include/llvm/DebugInfo/MSF/ByteStream.h index 34361ef9d93..d8c1e6dd6cc 100644 --- a/llvm/include/llvm/DebugInfo/MSF/ByteStream.h +++ b/llvm/include/llvm/DebugInfo/MSF/ByteStream.h @@ -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()) |

