diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx index eacbfedbee..aa24a02586 100644 --- a/Source/cmStringCommand.cxx +++ b/Source/cmStringCommand.cxx @@ -555,7 +555,7 @@ bool cmStringCommand::HandleSubstringCommand(std::vector const& arg return false; } int leftOverLength = intStringLength - begin; - if ( end < 0 || end > intStringLength ) + if ( end < 0 || end > leftOverLength ) { cmOStringStream ostr; ostr << "end index: " << end << " is out of range " << 0 << " - " << leftOverLength; diff --git a/Source/cmStringCommand.h b/Source/cmStringCommand.h index 8c6a11ca4f..fc846d37cc 100644 --- a/Source/cmStringCommand.h +++ b/Source/cmStringCommand.h @@ -84,7 +84,7 @@ public: " STRING(TOUPPER )\n" " STRING(TOLOWER )\n" " STRING(LENGTH )\n" - " STRING(SUBSTRING )\n" + " STRING(SUBSTRING )\n" "REGEX MATCH will match the regular expression once and store the " "match in the output variable.\n" "REGEX MATCHALL will match the regular expression as many times as "