From b8d15838c5781f68f2fd3e51891dddeafb10f92d Mon Sep 17 00:00:00 2001 From: Kingcom Date: Sat, 29 Jun 2013 16:24:26 +0200 Subject: [PATCH] Added checks for divisiou and modulo by zero --- Windows/Debugger/ExpressionParser.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Windows/Debugger/ExpressionParser.cpp b/Windows/Debugger/ExpressionParser.cpp index fab99502bb..11ea3f63ec 100644 --- a/Windows/Debugger/ExpressionParser.cpp +++ b/Windows/Debugger/ExpressionParser.cpp @@ -382,9 +382,19 @@ bool parseExpression(char* infix, DebugInterface* cpu, u32& dest) valueStack.push_back(arg[1]*arg[0]); break; case EXOP_DIV: // a/b + if (arg[0] == 0) + { + sprintf(expressionError,"Division by zero"); + return false; + } valueStack.push_back(arg[1]/arg[0]); break; case EXOP_MOD: // a%b + if (arg[0] == 0) + { + sprintf(expressionError,"Modulo by zero"); + return false; + } valueStack.push_back(arg[1]%arg[0]); break; case EXOP_ADD: // a+b