From patchwork Fri Feb 17 15:43:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wiles, Keith" X-Patchwork-Id: 20534 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 857282C60; Fri, 17 Feb 2017 16:43:11 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 8337A2A5D for ; Fri, 17 Feb 2017 16:43:09 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Feb 2017 07:43:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,172,1484035200"; d="scan'208";a="67077885" Received: from davidpjo-mobl3.amr.corp.intel.com ([10.255.93.69]) by fmsmga006.fm.intel.com with ESMTP; 17 Feb 2017 07:43:07 -0800 From: Keith Wiles To: dev@dpdk.org Date: Fri, 17 Feb 2017 09:43:04 -0600 Message-Id: <20170217154304.50214-1-keith.wiles@intel.com> X-Mailer: git-send-email 2.10.1 Subject: [dpdk-dev] [PATCH v4] net/tap: fix coverity warning on strncpy 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" Calling strncpy with a maximum size argument of 16 bytes on destination array "ifr.ifr_ifrn.ifrn_name" of size 16 bytes might leave the destination string unterminated. Signed-off-by: Keith Wiles --- v4 - Forgot to finish rebase v3 - convert strncpy to use snprintf instead. v2 - fix the checkpatch warning no spaces around '-' v1 - fix coverity warning on strncpy using invalid length. drivers/net/tap/rte_eth_tap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index efc4426..47a7060 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -129,7 +129,7 @@ tun_alloc(struct pmd_internals *pmd, uint16_t qid) memset(&ifr, 0, sizeof(struct ifreq)); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; - strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ); + snprintf(ifr.ifr_name, IFNAMSIZ, "%s", pmd->name); RTE_LOG(DEBUG, PMD, "ifr_name '%s'\n", ifr.ifr_name); @@ -297,7 +297,7 @@ tap_link_set_flags(struct pmd_internals *pmd, short flags, int add) return -1; } memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ); + snprintf(ifr.ifr_name, IFNAMSIZ, "%s", pmd->name); err = ioctl(s, SIOCGIFFLAGS, &ifr); if (err < 0) { RTE_LOG(WARNING, PMD, "Unable to get %s device flags: %s\n",