]> granicus.if.org Git - clang/commitdiff
Fix buffer overflow.
authorEli Friedman <eli.friedman@gmail.com>
Tue, 11 Sep 2012 00:36:26 +0000 (00:36 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 11 Sep 2012 00:36:26 +0000 (00:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163578 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/CommentCommandTraits.cpp

index 26e2dee3a26f61210e388a61822b25847cfa6ed3..ba0aa9ae12ef91508ed5dc65732660b8b3252aaf 100644 (file)
@@ -32,9 +32,9 @@ const CommandInfo *CommandTraits::getCommandInfo(unsigned CommandID) const {
 }
 
 const CommandInfo *CommandTraits::registerUnknownCommand(StringRef CommandName) {
-  char *Name = Allocator.Allocate<char>(CommandName.size());
+  char *Name = Allocator.Allocate<char>(CommandName.size() + 1);
   memcpy(Name, CommandName.data(), CommandName.size());
-  Name[CommandName.size() + 1] = '\0';
+  Name[CommandName.size()] = '\0';
 
   // Value-initialize (=zero-initialize in this case) a new CommandInfo.
   CommandInfo *Info = new (Allocator) CommandInfo();