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;
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;
}
}
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;
}
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)