[cli] add length checks for "coaps set psk" (#3518)

This commit is contained in:
Jonathan Hui
2019-01-25 15:36:50 -08:00
committed by GitHub
parent cc26f1418e
commit cb5e076a3e
+8 -2
View File
@@ -168,10 +168,16 @@ otError CoapSecure::Process(int argc, char *argv[])
{
if (argc > 3)
{
mPskLength = (uint8_t)strlen(argv[2]);
mPskIdLength = (uint8_t)strlen(argv[3]);
size_t length;
length = strlen(argv[2]);
VerifyOrExit(length <= sizeof(mPsk), error = OT_ERROR_INVALID_ARGS);
mPskLength = static_cast<uint8_t>(length);
memcpy(mPsk, argv[2], mPskLength);
length = strlen(argv[3]);
VerifyOrExit(length <= sizeof(mPskId), error = OT_ERROR_INVALID_ARGS);
mPskIdLength = static_cast<uint8_t>(length);
memcpy(mPskId, argv[3], mPskIdLength);
SuccessOrExit(