Добавление проверки параметра length метода Substring в TipPainterTools (#3388)

* Add substring length check in TipPainterTools

* Add count check in FindClosingParenthesis method
This commit is contained in:
Александр Земляк 2026-02-16 14:05:42 +03:00 committed by GitHub
parent f0599232a9
commit ac1b4a03a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 0 deletions

View file

@ -1980,6 +1980,9 @@ namespace PascalABCCompiler.Parsers
i++;
}
if (count > 0)
return -1;
return i;
}

View file

@ -121,6 +121,10 @@ namespace ICSharpCode.TextEditor.Util
{
int paramDelimLength = languageIntellisenseSupport.ParameterDelimiter.Length;
// Проверка на всякий случай, чтобы не возникало ошибки с отрицательным length в Substring EVA
if (paranthesisIndex - paramDelimLength < paramDelimLength)
return;
string paramDescription = descriptionAfterBracket.Substring(paramDelimIndex + paramDelimLength, paranthesisIndex - paramDelimIndex - paramDelimLength);
if (languageIntellisenseSupport.IsParams(paramDescription))

View file

@ -120,6 +120,10 @@ namespace ICSharpCode.TextEditor.Util
{
int paramDelimLength = languageIntellisenseSupport.ParameterDelimiter.Length;
// Проверка на всякий случай, чтобы не возникало ошибки с отрицательным length в Substring EVA
if (paranthesisIndex - paramDelimLength < paramDelimLength)
return;
string paramDescription = descriptionAfterBracket.Substring(paramDelimIndex + paramDelimLength, paranthesisIndex - paramDelimIndex - paramDelimLength);
if (languageIntellisenseSupport.IsParams(paramDescription))