app/testpmd: fix copy of dynamic flag name
When working with testpmd and setting the dynflag name, we copy the name given by the cmd to the dynflag name. The issue is that the size of the dynflag name is smaller then the string used by testpmd. This commit solves this issue by checking that the length of the requested flag name is not too long. Coverity issue: 353610 Fixes: b57b66a97ebf ("app/testpmd: support mbuf dynamic flag") Signed-off-by: Ori Kam <orika@mellanox.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
This commit is contained in:
parent
19d4c1aee8
commit
bd164530ec
@ -18866,14 +18866,18 @@ cmd_config_dynf_specific_parsed(void *parsed_result,
|
||||
return;
|
||||
flag = rte_mbuf_dynflag_lookup(res->name, NULL);
|
||||
if (flag <= 0) {
|
||||
strcpy(desc_flag.name, res->name);
|
||||
if (strlcpy(desc_flag.name, res->name,
|
||||
RTE_MBUF_DYN_NAMESIZE) >= RTE_MBUF_DYN_NAMESIZE) {
|
||||
printf("Flag name too long\n");
|
||||
return;
|
||||
}
|
||||
desc_flag.flags = 0;
|
||||
flag = rte_mbuf_dynflag_register(&desc_flag);
|
||||
if (flag < 0) {
|
||||
printf("Can't register flag\n");
|
||||
return;
|
||||
}
|
||||
strcpy(dynf_names[flag], res->name);
|
||||
strcpy(dynf_names[flag], desc_flag.name);
|
||||
}
|
||||
old_port_flags = ports[res->port_id].mbuf_dynf;
|
||||
if (!strcmp(res->value, "set")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user