settings: shell: Fix possible buffer overflow
Checks the size of the given string before copying it to internal buffer. Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This commit is contained in:
parent
e70a1a0c48
commit
8977784afe
@ -182,6 +182,11 @@ static int cmd_write(const struct shell *shell_ptr, size_t argc, char *argv[])
|
||||
break;
|
||||
case SETTINGS_VALUE_STRING:
|
||||
buffer_len = strlen(argv[argc - 1]) + 1;
|
||||
if (buffer_len > sizeof(buffer)) {
|
||||
shell_error(shell_ptr, "%s is bigger than shell's buffer", argv[argc - 1]);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
memcpy(buffer, argv[argc - 1], buffer_len);
|
||||
break;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user