diff --git a/lib/Analysis/DebugInfo.cpp b/lib/Analysis/DebugInfo.cpp index 1d340b907a9..7bff11ec5b4 100644 --- a/lib/Analysis/DebugInfo.cpp +++ b/lib/Analysis/DebugInfo.cpp @@ -84,8 +84,11 @@ DIDescriptor::getStringField(unsigned Elt) const { return NULL; if (Elt < DbgNode->getNumElements()) - if (MDString *MDS = dyn_cast_or_null(DbgNode->getElement(Elt))) + if (MDString *MDS = dyn_cast_or_null(DbgNode->getElement(Elt))) { + if (MDS->getLength() == 0) + return NULL; return MDS->getString().data(); + } return NULL; }