From 4fa4990bdcb1fc2aa7831b1e6b113998366b2918 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sun, 26 Jul 2009 09:22:02 +0000 Subject: [PATCH] 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 --- lib/VMCore/Value.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/VMCore/Value.cpp b/lib/VMCore/Value.cpp index fa82bac60e3..10e62ff1bc3 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(); } -- 2.34.1