Check length of string before we walk off the end of it.
Thanks, Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36155 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 5544008..263ef4c 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -2823,9 +2823,9 @@
 
     // Check for call to invalid intrinsic to avoid crashing later.
     if (Function *theF = dyn_cast<Function>(V)) {
-      if (theF->hasName() && 
-          0 == strncmp(theF->getValueName()->getKeyData(), "llvm.", 5) &&
-        !theF->getIntrinsicID(true))
+      if (theF->hasName() && (strlen(theF->getValueName()->getKeyData()) >= 5)&&
+          (0 == strncmp(theF->getValueName()->getKeyData(), "llvm.", 5)) &&
+          !theF->getIntrinsicID(true))
         GEN_ERROR("Call to invalid LLVM intrinsic function '" +
                   theF->getName() + "'");
     }