summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/WinCOFFObjectWriter.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2017-02-15 01:48:33 +0000
committerRui Ueyama <ruiu@google.com>2017-02-15 01:48:33 +0000
commit4b58f577cd33749dabd27b0811a495e426701613 (patch)
tree11cab366bdfc23f7d360540eff2c9cdc2d439952 /llvm/lib/MC/WinCOFFObjectWriter.cpp
parentf340ca896312352c403daef8364ebd40a3783a0b (diff)
downloadbcm5719-llvm-4b58f577cd33749dabd27b0811a495e426701613.tar.gz
bcm5719-llvm-4b58f577cd33749dabd27b0811a495e426701613.zip
Revert r295138: Instead of a series of string operations, use snprintf().
This broke buildbots. llvm-svn: 295142
Diffstat (limited to 'llvm/lib/MC/WinCOFFObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/WinCOFFObjectWriter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp
index 091693a483a..8ed5dd0c45e 100644
--- a/llvm/lib/MC/WinCOFFObjectWriter.cpp
+++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp
@@ -434,8 +434,10 @@ void WinCOFFObjectWriter::SetSectionName(COFFSection &S) {
uint64_t StringTableEntry = Strings.getOffset(S.Name);
if (StringTableEntry <= Max7DecimalOffset) {
- snprintf(S.Header.Name, sizeof(S.Header.Name), "/%" PRIu64,
- StringTableEntry);
+ SmallVector<char, COFF::NameSize> Buffer;
+ Twine('/').concat(Twine(StringTableEntry)).toVector(Buffer);
+ assert(Buffer.size() <= COFF::NameSize && Buffer.size() >= 2);
+ std::memcpy(S.Header.Name, Buffer.data(), Buffer.size());
return;
}
if (StringTableEntry <= MaxBase64Offset) {
OpenPOWER on IntegriCloud