diff options
| author | nyamatongwe <unknown> | 2009-04-25 00:01:51 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2009-04-25 00:01:51 +0000 | 
| commit | e29fbc46b5d542ab3975c512c478fdc2023f348f (patch) | |
| tree | f5192bd470067a68d1d8690039e7792d9f0af116 /src | |
| parent | 17910c0044815b89415a78074754c91543f1a22d (diff) | |
| download | scintilla-mirror-e29fbc46b5d542ab3975c512c478fdc2023f348f.tar.gz | |
Avoid out of bounds write when asked to add marker to line beyond end of
document.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Document.cxx | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/src/Document.cxx b/src/Document.cxx index f7e9dfdcc..ac37215b2 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -138,11 +138,15 @@ int Document::GetMark(int line) {  }  int Document::AddMark(int line, int markerNum) { -	int prev = static_cast<LineMarkers*>(perLineData[ldMarkers])-> -		AddMark(line, markerNum, LinesTotal()); -	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line); -	NotifyModified(mh); -	return prev; +	if (line <= LinesTotal()) { +		int prev = static_cast<LineMarkers*>(perLineData[ldMarkers])-> +			AddMark(line, markerNum, LinesTotal()); +		DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line); +		NotifyModified(mh); +		return prev; +	} else { +		return 0; +	}  }  void Document::AddMarkSet(int line, int valueSet) { | 
