diff options
author | nyamatongwe <unknown> | 2010-09-01 13:03:24 +1000 |
---|---|---|
committer | nyamatongwe <unknown> | 2010-09-01 13:03:24 +1000 |
commit | 81c8e63d1ff27295cdeef12d6564db36822e8745 (patch) | |
tree | d1367c8f313df00e616e4d974cc43c8cb1d18d9c /lexers/LexCPP.cxx | |
parent | 5898e8b0194c712514c93cd675d9102fb3dcd35a (diff) | |
download | scintilla-mirror-81c8e63d1ff27295cdeef12d6564db36822e8745.tar.gz |
Fix division by 0 crash with preprocessor expressions like
#if 1 / 0
or
#if 1 //
Diffstat (limited to 'lexers/LexCPP.cxx')
-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] == "<=") |