[cli] add bounds check on channel selection (#3499)

This commit is contained in:
Jonathan Hui
2019-01-23 21:50:38 -08:00
committed by GitHub
parent 9094c12652
commit aa5673cd48
+2
View File
@@ -887,6 +887,7 @@ void Interpreter::ProcessDiscover(int argc, char *argv[])
if (argc > 0)
{
SuccessOrExit(error = ParseLong(argv[0], value));
VerifyOrExit(value <= static_cast<long>(sizeof(scanChannels) * CHAR_BIT), error = OT_ERROR_INVALID_ARGS);
scanChannels = 1 << value;
}
@@ -2729,6 +2730,7 @@ void Interpreter::ProcessScan(int argc, char *argv[])
else
{
SuccessOrExit(error = ParseLong(argv[0], value));
VerifyOrExit(value < static_cast<long>(sizeof(scanChannels) * CHAR_BIT), error = OT_ERROR_INVALID_ARGS);
scanChannels = 1 << value;
}
}