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 | |
| parent | 5898e8b0194c712514c93cd675d9102fb3dcd35a (diff) | |
| download | scintilla-mirror-81c8e63d1ff27295cdeef12d6564db36822e8745.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] == "<=") | 
