From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1BE66A0534; Tue, 4 Feb 2020 14:39:54 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F03A41C0DC; Tue, 4 Feb 2020 14:39:53 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id EA0D51C0BE for ; Tue, 4 Feb 2020 14:39:52 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from orika@mellanox.com) with ESMTPS (AES256-SHA encrypted); 4 Feb 2020 15:39:52 +0200 Received: from pegasus03.mtr.labs.mlnx (pegasus03.mtr.labs.mlnx [10.210.16.124]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 014DdpaJ003769; Tue, 4 Feb 2020 15:39:51 +0200 From: Ori Kam To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger Cc: dev@dpdk.org, orika@mellanox.com, ferruh.yigit@intel.com, viacheslavo@mellanox.com Date: Tue, 4 Feb 2020 13:39:46 +0000 Message-Id: <1580823586-144444-1-git-send-email-orika@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580390564-186435-1-git-send-email-orika@mellanox.com> References: <1580390564-186435-1-git-send-email-orika@mellanox.com> Subject: [dpdk-dev] [PATCH v4] app/testpmd: fix copying the name of the dynflag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- V4: * Address ML comments V3: * Fix style issue. V2: * change to check the requested flag name. --- app/test-pmd/cmdline.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index dab22bc..45602cc 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -18867,14 +18867,18 @@ struct cmd_config_tx_dynf_specific_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")) { -- 1.8.3.1