From 6d9be0c804e906116941eedcbd137475027e9e26 Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Mon, 13 Apr 2015 13:40:26 -0400 Subject: [PATCH] Throw an exception on non-existent instruction. --- src/obj.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/obj.cpp b/src/obj.cpp index b4990e11..a30ffb6b 100644 --- a/src/obj.cpp +++ b/src/obj.cpp @@ -331,7 +331,10 @@ Obj *AsmReader::read(std::istream &input) { break; case ASM_T_INST: if (state == ST_INIT) { - Instruction::Opcode opc = opMap[yylval.s]; + map::iterator opcIterator = opMap.find(yylval.s); + if (opcIterator == opMap.end()) + asmReaderError(yyline, "Invalid Instruction"); + Instruction::Opcode opc = opcIterator->second; if (outstate != OS_TEXTCHUNK) { tc = new TextChunk(next_chunk_name, next_chunk_align, flagsToWord(permR, permW, permX));