logging: Fix possible out-of-bound access in log_output
Coverity issue #187067 Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
de78a7af28
commit
9f7e25ad22
2 changed files with 7 additions and 1 deletions
|
@ -273,7 +273,8 @@ u32_t log_msg_nargs_get(struct log_msg *msg);
|
||||||
* @param msg Standard log message.
|
* @param msg Standard log message.
|
||||||
* @param arg_idx Argument index.
|
* @param arg_idx Argument index.
|
||||||
*
|
*
|
||||||
* @return Argument value.
|
* @return Argument value or 0 if arg_idx exceeds number of arguments in the
|
||||||
|
* message.
|
||||||
*/
|
*/
|
||||||
u32_t log_msg_arg_get(struct log_msg *msg, u32_t arg_idx);
|
u32_t log_msg_arg_get(struct log_msg *msg, u32_t arg_idx);
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,11 @@ u32_t log_msg_arg_get(struct log_msg *msg, u32_t arg_idx)
|
||||||
{
|
{
|
||||||
u32_t arg;
|
u32_t arg;
|
||||||
|
|
||||||
|
/* Return early if requested argument not present in the message. */
|
||||||
|
if (arg_idx >= msg->hdr.params.std.nargs) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (msg->hdr.params.std.nargs <= LOG_MSG_NARGS_SINGLE_CHUNK) {
|
if (msg->hdr.params.std.nargs <= LOG_MSG_NARGS_SINGLE_CHUNK) {
|
||||||
arg = msg->payload.single.args[arg_idx];
|
arg = msg->payload.single.args[arg_idx];
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue