diff options
author | Rui Ueyama <ruiu@google.com> | 2017-02-15 01:48:33 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2017-02-15 01:48:33 +0000 |
commit | 4b58f577cd33749dabd27b0811a495e426701613 (patch) | |
tree | 11cab366bdfc23f7d360540eff2c9cdc2d439952 /llvm/lib/MC/WinCOFFObjectWriter.cpp | |
parent | f340ca896312352c403daef8364ebd40a3783a0b (diff) | |
download | bcm5719-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.cpp | 6 |
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) { |