[llvm-commits] [lld] r149427 - /lld/trunk/lib/Core/NativeWriter.cpp

Michael J. Spencer bigcheesegs at gmail.com
Tue Jan 31 13:46:06 PST 2012


Author: mspencer
Date: Tue Jan 31 15:46:05 2012
New Revision: 149427

URL: http://llvm.org/viewvc/llvm-project?rev=149427&view=rev
Log:
If cont.size() is 0, the expression &_contentPool[result] has undefined
behaivior because it indexes past the end of _contentPool.

Modified:
    lld/trunk/lib/Core/NativeWriter.cpp

Modified: lld/trunk/lib/Core/NativeWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/NativeWriter.cpp?rev=149427&r1=149426&r2=149427&view=diff
==============================================================================
--- lld/trunk/lib/Core/NativeWriter.cpp (original)
+++ lld/trunk/lib/Core/NativeWriter.cpp Tue Jan 31 15:46:05 2012
@@ -128,8 +128,7 @@
       return 0;
     uint32_t result = _contentPool.size();
     llvm::ArrayRef<uint8_t> cont = atom.rawContent();
-    _contentPool.insert(_contentPool.end(), cont.size(), 0);
-    memcpy(&_contentPool[result], cont.data(), cont.size());
+    _contentPool.insert(_contentPool.end(), cont.begin(), cont.end());
     return result;
   }
 





More information about the llvm-commits mailing list