aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexers/LexCPP.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2010-09-01 13:03:24 +1000
committernyamatongwe <unknown>2010-09-01 13:03:24 +1000
commit81c8e63d1ff27295cdeef12d6564db36822e8745 (patch)
treed1367c8f313df00e616e4d974cc43c8cb1d18d9c /lexers/LexCPP.cxx
parent5898e8b0194c712514c93cd675d9102fb3dcd35a (diff)
downloadscintilla-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.cxx4
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] == "<=")