From: Daniel Dunbar Date: Sun, 26 Jul 2009 09:22:02 +0000 (+0000) Subject: Make sure getName().data() is always null terminated. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4fa4990bdcb1fc2aa7831b1e6b113998366b2918;p=oota-llvm.git 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 --- 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(); }