]> granicus.if.org Git - llvm/commitdiff
Revert r295138: Instead of a series of string operations, use snprintf().
authorRui Ueyama <ruiu@google.com>
Wed, 15 Feb 2017 01:48:33 +0000 (01:48 +0000)
committerRui Ueyama <ruiu@google.com>
Wed, 15 Feb 2017 01:48:33 +0000 (01:48 +0000)
This broke buildbots.

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

lib/MC/WinCOFFObjectWriter.cpp

index 091693a483a076ed6f1f3d676202dc64fad4d52d..8ed5dd0c45e7fc9c92aea80c2d02cca08ae1a7bd 100644 (file)
@@ -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) {