From patchwork Sun Oct 8 19:23:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harsha Sharma X-Patchwork-Id: 823029 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netfilter-devel-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="CkrxjG0g"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3y9Cyz4tpzz9t3p for ; Mon, 9 Oct 2017 06:26:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753639AbdJHT0C (ORCPT ); Sun, 8 Oct 2017 15:26:02 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:33220 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753439AbdJHT0C (ORCPT ); Sun, 8 Oct 2017 15:26:02 -0400 Received: by mail-pf0-f193.google.com with SMTP id m28so22514573pfi.0 for ; Sun, 08 Oct 2017 12:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=zCKzmHiyn7Tn2Ls1gzEVH6hY8atB+ZaDaqJGOTgNJU0=; b=CkrxjG0gcsjIvZuOzj5HutP7fg6SGqq0jk2vGxVz4N7p1NgYJB2f0wiHDOqkwQD5Nj cCalaazAG/NdciM00Xsg0Bt3m/+eu47yQ6ELjYbxRejUvckirdVO1oNNvY2P9PQBWxHf Cfr2M5QPkaLAFH94PvAhAjTKq3CZPZ8Ff0YvusoyJkNSDgPwy1ShRekRxufSURl2by+r 9fPWHZFzWdB4+4Fe1TKAsEF4QUEEChY0SQKDt1dh9jFdWNsS/Y4D7rf0OVLrnRC6aWBF ScLSJj2WgGyZHWBQ55i7E4G2asu1iN05/ZDOOFCunWQEWEfbraq6swEZIy5jyLPVPgOY FayA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=zCKzmHiyn7Tn2Ls1gzEVH6hY8atB+ZaDaqJGOTgNJU0=; b=IOXceo+c9/s6o5FsyJuOSmWc6wEoVaEbtk248LN0LDnUGQ1zZHeztDFMAgx1xyyRoL R7qqzHh+0eMGwhnYyIGcf2ugzzw89nQeXtBYFdGeh4c1qE/Qx6srbK/4W6FSA0Yqn/Q7 4/TIMUIHjO6spvHbA+1qlw/NXe13zfgDHnVyk5LqRfwZqRvTj7LF4AAm83dQ4SwomxYl oR2AWXJdQrzLlObjU6UX3Yr5Hpcnh4PC2c+r7tLGqytH2Z05yvrcsv/oBCOCBWhtEEjh uVhXAfylW6O05vWDqA6eyxi3AdzIeEyGbPnRW6rYbOB5lTUIIfspQeNM1XdlhraQHcWQ 0hAw== X-Gm-Message-State: AMCzsaWGrKoHtxs/G+O9i04vn2FhaZ2z8/vYZZpCgJOYLwD2yLxNQw/h Hw/RGypshjz3Qt5bhz8AKjE= X-Google-Smtp-Source: AOwi7QBdZgKkzYNf1gV0Q0uQqxFFaZYCCxTqralVdSjsnrnh2Kna12ZqyKrUXT81Dt0SLrVPGBnveA== X-Received: by 10.84.139.129 with SMTP id 1mr7215796plr.120.1507490761699; Sun, 08 Oct 2017 12:26:01 -0700 (PDT) Received: from localhost.localdomain ([103.37.201.27]) by smtp.gmail.com with ESMTPSA id y84sm13908641pff.158.2017.10.08.12.25.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Oct 2017 12:26:01 -0700 (PDT) From: Harsha Sharma To: pablo@netfilter.org Cc: netfilter-devel@vger.kernel.org, outreachy-kernel@googlegroups.com, Harsha Sharma Subject: [PATCH v2] src: Use snprintf() over strncpy() Date: Mon, 9 Oct 2017 00:53:43 +0530 Message-Id: <20171008192343.22050-1-harshasharmaiitr@gmail.com> X-Mailer: git-send-email 2.11.0 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Use snprintf() over strncpy() functions as the buffer is not null terminated in strncpy(). Signed-off-by: Harsha Sharma --- Changes in v2: -Change subject src/datatype.c | 2 +- src/iface.c | 4 ++-- src/netlink.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/datatype.c b/src/datatype.c index 94b1224..9439ea3 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -858,7 +858,7 @@ static uint32_t str2int(char *tmp, const char *c, int k) if (k == 0) return 0; - strncpy(tmp, c-k, k+1); + snprintf(tmp, k+1, "%s", c-k); return atoi(tmp); } diff --git a/src/iface.c b/src/iface.c index 9936388..d0e1834 100644 --- a/src/iface.c +++ b/src/iface.c @@ -53,7 +53,7 @@ static int data_cb(const struct nlmsghdr *nlh, void *data) iface = xmalloc(sizeof(struct iface)); iface->ifindex = ifm->ifi_index; mnl_attr_parse(nlh, sizeof(*ifm), data_attr_cb, tb); - strncpy(iface->name, mnl_attr_get_str(tb[IFLA_IFNAME]), IFNAMSIZ); + snprintf(iface->name, IFNAMSIZ, "%s", mnl_attr_get_str(tb[IFLA_IFNAME])); list_add(&iface->list, &iface_list); return MNL_CB_OK; @@ -139,7 +139,7 @@ char *nft_if_indextoname(unsigned int ifindex, char *name) list_for_each_entry(iface, &iface_list, list) { if (iface->ifindex == ifindex) { - strncpy(name, iface->name, IFNAMSIZ); + snprintf(name, IFNAMSIZ, "%s", iface->name); return name; } } diff --git a/src/netlink.c b/src/netlink.c index d5d410a..f69a5b9 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -386,7 +386,7 @@ static void netlink_gen_verdict(const struct expr *expr, switch (expr->verdict) { case NFT_JUMP: case NFT_GOTO: - strncpy(data->chain, expr->chain, NFT_CHAIN_MAXNAMELEN); + snprintf(data->chain, NFT_CHAIN_MAXNAMELEN, "%s", expr->chain); data->chain[NFT_CHAIN_MAXNAMELEN-1] = '\0'; break; } @@ -2915,7 +2915,7 @@ static int netlink_events_newgen_cb(const struct nlmsghdr *nlh, int type, case NFTA_GEN_PROC_NAME: if (mnl_attr_validate(attr, MNL_TYPE_NUL_STRING) < 0) break; - strncpy(name, mnl_attr_get_str(attr), sizeof(name)); + snprintf(name, sizeof(name), "%s", mnl_attr_get_str(attr)); break; case NFTA_GEN_PROC_ID: if (mnl_attr_validate(attr, MNL_TYPE_U32) < 0)