aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-26 09:22:02 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-26 09:22:02 +0000
commit4fa4990bdcb1fc2aa7831b1e6b113998366b2918 (patch)
treeaeb5494e216a5f76c936d4edcb047609379c25be /lib/VMCore
parentf0443c1eb44d737d9bd78962932fc80f74c6113c (diff)
downloadexternal_llvm-4fa4990bdcb1fc2aa7831b1e6b113998366b2918.zip
external_llvm-4fa4990bdcb1fc2aa7831b1e6b113998366b2918.tar.gz
external_llvm-4fa4990bdcb1fc2aa7831b1e6b113998366b2918.tar.bz2
Make sure getName().data() is always null terminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77149 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r--lib/VMCore/Value.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/VMCore/Value.cpp b/lib/VMCore/Value.cpp
index fa82bac..10e62ff 100644
--- a/lib/VMCore/Value.cpp
+++ b/lib/VMCore/Value.cpp
@@ -152,7 +152,10 @@ static bool getSymTab(Value *V, ValueSymbolTable *&ST) {
}
StringRef Value::getName() const {
- if (!Name) return StringRef();
+ // Make sure the empty string is still a C string. For historical reasons,
+ // some clients want to call .data() on the result and expect it to be null
+ // terminated.
+ if (!Name) return StringRef("", 0);
return Name->getKey();
}