diff options
author | nyamatongwe <devnull@localhost> | 2010-09-01 13:03:24 +1000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2010-09-01 13:03:24 +1000 |
commit | c65045014d0ed150a70437a9caf13a283501e6ab (patch) | |
tree | e1ba1a9089306905d6d4cb00dc31adf0ce262ccd | |
parent | 903d7d0fa647044472c297178ea85f9629091819 (diff) | |
download | scintilla-mirror-c65045014d0ed150a70437a9caf13a283501e6ab.tar.gz |
Fix division by 0 crash with preprocessor expressions like
#if 1 / 0
or
#if 1 //
-rw-r--r-- | lexers/LexCPP.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index 2028c66a9..6d01fb44b 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -977,9 +977,9 @@ void LexerCPP::EvaluateTokens(std::vector<std::string> &tokens) { else if (tokens[k+1] == "*") result = valA * valB; else if (tokens[k+1] == "/") - result = valA / valB; + result = valA / (valB ? valB : 1); else if (tokens[k+1] == "%") - result = valA % valB; + result = valA % (valB ? valB : 1); else if (tokens[k+1] == "<") result = valA < valB; else if (tokens[k+1] == "<=") |