diff options
| author | Neil Hodgson <nyamatongwe@gmail.com> | 2018-09-18 13:00:08 +1000 | 
|---|---|---|
| committer | Neil Hodgson <nyamatongwe@gmail.com> | 2018-09-18 13:00:08 +1000 | 
| commit | 7263fd79dc1b9e150d7a9e22c52c34d7b5a123dd (patch) | |
| tree | 95ce0eec176af6713321ffdd6fd19af097f6fe06 | |
| parent | 951d567659000925cbeaf03dbe6b9efc75802cac (diff) | |
| download | scintilla-mirror-7263fd79dc1b9e150d7a9e22c52c34d7b5a123dd.tar.gz | |
Guard against shifting by negative amount as that is undefined behaviour.
| -rw-r--r-- | lexers/LexCPP.cxx | 6 | ||||
| -rw-r--r-- | lexers/LexVerilog.cxx | 6 | 
2 files changed, 10 insertions, 2 deletions
| diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index 2cd3975e0..ee645e9e0 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -242,7 +242,11 @@ class LinePPState {  		return level >= 0 && level < 32;  	}  	int maskLevel() const noexcept { -		return 1 << level; +		if (level >= 0) { +			return 1 << level; +		} else { +			return 1; +		}  	}  public:  	LinePPState() : state(0), ifTaken(0), level(-1) { diff --git a/lexers/LexVerilog.cxx b/lexers/LexVerilog.cxx index 901b6e93d..640f12fcb 100644 --- a/lexers/LexVerilog.cxx +++ b/lexers/LexVerilog.cxx @@ -57,7 +57,11 @@ class LinePPState {  		return level >= 0 && level < 32;  	}  	int maskLevel() const { -		return 1 << level; +		if (level >= 0) { +			return 1 << level; +		} else { +			return 1; +		}  	}  public:  	LinePPState() : state(0), ifTaken(0), level(-1) { | 
