aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/CommentCommandTraits.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-09-11 00:36:26 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-09-11 00:36:26 +0000
commit116bb09882bc1c9281cd84dd07496201feb18d18 (patch)
treede706c7106c1a246dedd49ffe940baac604854f0 /lib/AST/CommentCommandTraits.cpp
parent00b4f64ecb26b031c1f4888f39be6c706156356a (diff)
Fix buffer overflow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163578 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/CommentCommandTraits.cpp')
-rw-r--r--lib/AST/CommentCommandTraits.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/AST/CommentCommandTraits.cpp b/lib/AST/CommentCommandTraits.cpp
index 26e2dee3a2..ba0aa9ae12 100644
--- a/lib/AST/CommentCommandTraits.cpp
+++ b/lib/AST/CommentCommandTraits.cpp
@@ -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();