[cli] add args length checking to dns command (#6547)

This commit is contained in:
Jonathan Hui
2021-05-01 10:25:10 -07:00
committed by GitHub
parent c9f1643883
commit 055adb8467
+3
View File
@@ -1468,6 +1468,7 @@ otError Interpreter::ProcessDns(uint8_t aArgsLength, Arg aArgs[])
}
else if (aArgs[0] == "resolve")
{
VerifyOrExit(aArgsLength >= 2, error = OT_ERROR_INVALID_ARGS);
SuccessOrExit(error = GetDnsConfig(aArgsLength, aArgs, config, 2));
SuccessOrExit(error = otDnsClientResolveAddress(mInstance, aArgs[1].GetCString(),
&Interpreter::HandleDnsAddressResponse, this, config));
@@ -1476,6 +1477,7 @@ otError Interpreter::ProcessDns(uint8_t aArgsLength, Arg aArgs[])
#if OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
else if (aArgs[0] == "browse")
{
VerifyOrExit(aArgsLength >= 2, error = OT_ERROR_INVALID_ARGS);
SuccessOrExit(error = GetDnsConfig(aArgsLength, aArgs, config, 2));
SuccessOrExit(error = otDnsClientBrowse(mInstance, aArgs[1].GetCString(), &Interpreter::HandleDnsBrowseResponse,
this, config));
@@ -1483,6 +1485,7 @@ otError Interpreter::ProcessDns(uint8_t aArgsLength, Arg aArgs[])
}
else if (aArgs[0] == "service")
{
VerifyOrExit(aArgsLength >= 3, error = OT_ERROR_INVALID_ARGS);
SuccessOrExit(error = GetDnsConfig(aArgsLength, aArgs, config, 3));
SuccessOrExit(error = otDnsClientResolveService(mInstance, aArgs[1].GetCString(), aArgs[2].GetCString(),
&Interpreter::HandleDnsServiceResponse, this, config));