From: Harsha Sharma Date: Sun, 8 Oct 2017 19:23:43 +0000 (+0530) Subject: src: Use snprintf() over strncpy() X-Git-Tag: v0.8.3~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f128afe52159b65712d47f17353c5f84ca837cf4;p=thirdparty%2Fnftables.git src: Use snprintf() over strncpy() Use snprintf() over strncpy() functions as the buffer is not null terminated in strncpy(). Signed-off-by: Harsha Sharma --- diff --git a/src/iface.c b/src/iface.c index 9936388b..d0e1834c 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 2ff3ce5e..403f93ca 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -388,7 +388,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; } @@ -2648,7 +2648,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_PID: if (mnl_attr_validate(attr, MNL_TYPE_U32) < 0)