summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2018-05-21 19:09:47 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2018-05-21 19:09:47 +0000
commit2602a0d40c4113e467f7bb710a92a747bcfad44e (patch)
tree65f9465b8776fed37fcefcd629b80ae89e0b34d4 /llvm
parentf14e62c9a53b20ed6ed3486588c5ac730cf50442 (diff)
downloadbcm5719-llvm-2602a0d40c4113e467f7bb710a92a747bcfad44e.tar.gz
bcm5719-llvm-2602a0d40c4113e467f7bb710a92a747bcfad44e.zip
Fix ubsan bounds check failure.
llvm-svn: 332866
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 7b6ff131d78..8efb28414ac 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -365,7 +365,8 @@ bool X86AsmBackend::writeNopData(raw_ostream &OS, uint64_t Count) const {
for (uint8_t i = 0; i < Prefixes; i++)
OS << '\x66';
const uint8_t Rest = ThisNopLength - Prefixes;
- OS.write(Nops[Rest - 1], Rest);
+ if (Rest != 0)
+ OS.write(Nops[Rest - 1], Rest);
Count -= ThisNopLength;
} while (Count != 0);
OpenPOWER on IntegriCloud