examples/ip_pipeline: fix coverity warnings

The source and destination both are the arrays of cmdline_parse_ctx_t.
So the goal is to copy elements size of cmdline_parse_ctx_t not
cmdline_parse_ctx_t*.

CID 120412:  Code maintainability issues  (SIZEOF_MISMATCH)
Passing argument "&app->cmds[app->n_cmds]" of type "cmdline_parse_ctx_t *"
and argument "n_cmds * 8UL /* sizeof (cmdline_parse_ctx_t *) */"
to function "memcpy" is suspicious.
In this case, "sizeof (cmdline_parse_ctx_t *)" is equal to
"sizeof (cmdline_parse_ctx_t)", but this is not a portable assumption.

Coverity issue: 120412
Fixes: b4aee0fb9c6d ("examples/ip_pipeline: reconfigure thread binding dynamically")
Fixes: ea0908c4ab89 ("examples/ip_pipeline: add master pipeline")
Fixes: eb32fe7c5574 ("examples/ip_pipeline: rework initialization parameters")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
This commit is contained in:
Piotr Azarewicz 2015-12-09 10:33:50 +01:00 committed by Thomas Monjalon
parent 94cb97a039
commit 2d8d97b734
3 changed files with 4 additions and 5 deletions

View File

@ -1472,7 +1472,7 @@ app_pipeline_type_cmd_push(struct app_params *app,
/* Push pipeline commands into the application */
memcpy(&app->cmds[app->n_cmds],
cmds,
n_cmds * sizeof(cmdline_parse_ctx_t *));
n_cmds * sizeof(cmdline_parse_ctx_t));
for (i = 0; i < n_cmds; i++)
app->cmds[app->n_cmds + i]->data = app;

View File

@ -1292,7 +1292,7 @@ app_pipeline_common_cmd_push(struct app_params *app)
/* Push pipeline commands into the application */
memcpy(&app->cmds[app->n_cmds],
pipeline_common_cmds,
n_cmds * sizeof(cmdline_parse_ctx_t *));
n_cmds * sizeof(cmdline_parse_ctx_t));
for (i = 0; i < n_cmds; i++)
app->cmds[app->n_cmds + i]->data = app;

View File

@ -335,9 +335,8 @@ app_pipeline_thread_cmd_push(struct app_params *app)
return -ENOMEM;
/* Push thread commands into the application */
memcpy(&app->cmds[app->n_cmds],
thread_cmds,
n_cmds * sizeof(cmdline_parse_ctx_t *));
memcpy(&app->cmds[app->n_cmds], thread_cmds,
n_cmds * sizeof(cmdline_parse_ctx_t));
for (i = 0; i < n_cmds; i++)
app->cmds[app->n_cmds + i]->data = app;