]> granicus.if.org Git - llvm/commitdiff
Instead of a series of string operations, use snprintf().
authorRui Ueyama <ruiu@google.com>
Wed, 15 Feb 2017 01:09:40 +0000 (01:09 +0000)
committerRui Ueyama <ruiu@google.com>
Wed, 15 Feb 2017 01:09:40 +0000 (01:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295138 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/WinCOFFObjectWriter.cpp

index 8ed5dd0c45e7fc9c92aea80c2d02cca08ae1a7bd..091693a483a076ed6f1f3d676202dc64fad4d52d 100644 (file)
@@ -434,10 +434,8 @@ void WinCOFFObjectWriter::SetSectionName(COFFSection &S) {
 
   uint64_t StringTableEntry = Strings.getOffset(S.Name);
   if (StringTableEntry <= Max7DecimalOffset) {
-    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());
+    snprintf(S.Header.Name, sizeof(S.Header.Name), "/%" PRIu64,
+             StringTableEntry);
     return;
   }
   if (StringTableEntry <= MaxBase64Offset) {