get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/52202/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 52202,
    "url": "http://patches.dpdk.org/api/patches/52202/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190403144505.46234-5-bruce.richardson@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20190403144505.46234-5-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190403144505.46234-5-bruce.richardson@intel.com",
    "date": "2019-04-03T14:45:04",
    "name": "[4/5] replace snprintf with strlcpy without adding extra include",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "990be9a7925ccd84bca34512f4cc4582513880da",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190403144505.46234-5-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 4091,
            "url": "http://patches.dpdk.org/api/series/4091/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4091",
            "date": "2019-04-03T14:45:00",
            "name": "clean up snprintf use for string copying",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/4091/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/52202/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/52202/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id A78F11B478;\n\tWed,  3 Apr 2019 16:45:33 +0200 (CEST)",
            "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n\tby dpdk.org (Postfix) with ESMTP id 14EFA1B464\n\tfor <dev@dpdk.org>; Wed,  3 Apr 2019 16:45:31 +0200 (CEST)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t03 Apr 2019 07:45:31 -0700",
            "from silpixa00399126.ir.intel.com (HELO\n\tsilpixa00399126.ger.corp.intel.com) ([10.237.222.236])\n\tby orsmga005.jf.intel.com with ESMTP; 03 Apr 2019 07:45:30 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.60,304,1549958400\"; d=\"scan'208\";a=\"312832755\"",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>",
        "Date": "Wed,  3 Apr 2019 15:45:04 +0100",
        "Message-Id": "<20190403144505.46234-5-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20190403144505.46234-1-bruce.richardson@intel.com>",
        "References": "<20190403144505.46234-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 4/5] replace snprintf with strlcpy without adding\n\textra include",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "For files that already have rte_string_fns.h included in them, we can\ndo a straight replacement of snprintf(...\"%s\",...) with strlcpy. The\nchanges in this patch were auto-generated via command:\n\nspatch --sp-file devtools/cocci/strlcpy-with-header.cocci --dir . --in-place\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n app/pdump/main.c                               |  4 ++--\n app/proc-info/main.c                           |  2 +-\n app/test-bbdev/main.c                          |  5 ++---\n app/test/test_cmdline_etheraddr.c              |  3 +--\n app/test/test_cmdline_num.c                    |  3 +--\n app/test/test_compressdev.c                    |  2 +-\n app/test/test_eal_flags.c                      |  2 +-\n drivers/bus/pci/bsd/pci.c                      |  2 +-\n drivers/bus/vdev/vdev.c                        |  2 +-\n drivers/net/bonding/rte_eth_bond_pmd.c         | 14 +++++++-------\n drivers/net/dpaa2/dpaa2_ethdev.c               |  7 +++----\n drivers/net/failsafe/failsafe_args.c           |  2 +-\n drivers/net/i40e/i40e_ethdev.c                 | 12 ++++++------\n drivers/net/pcap/rte_eth_pcap.c                |  8 ++++----\n drivers/net/ring/rte_eth_ring.c                |  3 ++-\n drivers/net/softnic/rte_eth_softnic_tap.c      |  2 +-\n drivers/net/tap/rte_eth_tap.c                  |  9 ++++-----\n examples/cmdline/commands.c                    |  2 +-\n examples/cmdline/parse_obj_list.c              |  2 +-\n examples/exception_path/main.c                 |  4 ++--\n examples/ip_pipeline/kni.c                     |  2 +-\n examples/ip_pipeline/tap.c                     |  2 +-\n examples/l3fwd-power/main.c                    |  2 +-\n examples/multi_process/simple_mp/mp_commands.c |  2 +-\n examples/netmap_compat/bridge/bridge.c         |  4 ++--\n examples/netmap_compat/lib/compat_netmap.c     |  2 +-\n examples/tep_termination/main.c                |  2 +-\n examples/vhost/main.c                          |  2 +-\n examples/vhost_scsi/scsi.c                     |  9 ++++-----\n lib/librte_cmdline/cmdline.c                   |  2 +-\n lib/librte_cmdline/cmdline_parse.c             |  5 +++--\n lib/librte_cmdline/cmdline_parse_num.c         |  2 +-\n lib/librte_cryptodev/rte_cryptodev.c           |  4 ++--\n lib/librte_distributor/rte_distributor.c       |  2 +-\n lib/librte_distributor/rte_distributor_v20.c   |  2 +-\n lib/librte_eal/common/eal_common_memzone.c     |  2 +-\n lib/librte_eal/common/eal_common_tailqs.c      |  2 +-\n lib/librte_ethdev/rte_ethdev.c                 |  6 +++---\n lib/librte_hash/rte_cuckoo_hash.c              |  2 +-\n lib/librte_hash/rte_fbk_hash.c                 |  2 +-\n lib/librte_kni/rte_kni.c                       |  6 +++---\n lib/librte_lpm/rte_lpm.c                       |  4 ++--\n lib/librte_lpm/rte_lpm6.c                      |  2 +-\n lib/librte_mempool/rte_mempool.c               |  2 +-\n lib/librte_pdump/rte_pdump.c                   |  8 ++++----\n lib/librte_pipeline/rte_pipeline.c             |  2 +-\n lib/librte_ring/rte_ring.c                     |  2 +-\n 47 files changed, 85 insertions(+), 89 deletions(-)",
    "diff": "diff --git a/app/pdump/main.c b/app/pdump/main.c\nindex ccf2a1d2f..ae0cf282f 100644\n--- a/app/pdump/main.c\n+++ b/app/pdump/main.c\n@@ -189,12 +189,12 @@ parse_rxtxdev(const char *key, const char *value, void *extra_args)\n \tstruct pdump_tuples *pt = extra_args;\n \n \tif (!strcmp(key, PDUMP_RX_DEV_ARG)) {\n-\t\tsnprintf(pt->rx_dev, sizeof(pt->rx_dev), \"%s\", value);\n+\t\tstrlcpy(pt->rx_dev, value, sizeof(pt->rx_dev));\n \t\t/* identify the tx stream type for pcap vdev */\n \t\tif (if_nametoindex(pt->rx_dev))\n \t\t\tpt->rx_vdev_stream_type = IFACE;\n \t} else if (!strcmp(key, PDUMP_TX_DEV_ARG)) {\n-\t\tsnprintf(pt->tx_dev, sizeof(pt->tx_dev), \"%s\", value);\n+\t\tstrlcpy(pt->tx_dev, value, sizeof(pt->tx_dev));\n \t\t/* identify the tx stream type for pcap vdev */\n \t\tif (if_nametoindex(pt->tx_dev))\n \t\t\tpt->tx_vdev_stream_type = IFACE;\ndiff --git a/app/proc-info/main.c b/app/proc-info/main.c\nindex b9acfa9ec..3cd53416d 100644\n--- a/app/proc-info/main.c\n+++ b/app/proc-info/main.c\n@@ -193,7 +193,7 @@ proc_info_preparse_args(int argc, char **argv)\n \t\t\t\tproc_info_usage(prgname);\n \t\t\t\treturn -1;\n \t\t\t}\n-\t\t\tsnprintf(host_id, sizeof(host_id), \"%s\", argv[i+1]);\n+\t\t\tstrlcpy(host_id, argv[i + 1], sizeof(host_id));\n \t\t}\n \t}\n \ndiff --git a/app/test-bbdev/main.c b/app/test-bbdev/main.c\nindex 7af25224c..a2f8722ec 100644\n--- a/app/test-bbdev/main.c\n+++ b/app/test-bbdev/main.c\n@@ -226,9 +226,8 @@ parse_args(int argc, char **argv, struct test_params *tp)\n \t\t\tTEST_ASSERT(strlen(optarg) > 0,\n \t\t\t\t\t\"Config file name is null\");\n \n-\t\t\tsnprintf(tp->test_vector_filename,\n-\t\t\t\t\tsizeof(tp->test_vector_filename),\n-\t\t\t\t\t\"%s\", optarg);\n+\t\t\tstrlcpy(tp->test_vector_filename, optarg,\n+\t\t\t\tsizeof(tp->test_vector_filename));\n \t\t\tbreak;\n \t\tcase 'l':\n \t\t\tTEST_ASSERT(strlen(optarg) > 0,\ndiff --git a/app/test/test_cmdline_etheraddr.c b/app/test/test_cmdline_etheraddr.c\nindex 6ceba4b29..086108ab2 100644\n--- a/app/test/test_cmdline_etheraddr.c\n+++ b/app/test/test_cmdline_etheraddr.c\n@@ -118,8 +118,7 @@ test_parse_etheraddr_invalid_param(void)\n \t/* try null result */\n \n \t/* copy string to buffer */\n-\tsnprintf(buf, sizeof(buf), \"%s\",\n-\t\t\tether_addr_valid_strs[0].str);\n+\tstrlcpy(buf, ether_addr_valid_strs[0].str, sizeof(buf));\n \n \tret = cmdline_parse_etheraddr(NULL, buf, NULL, 0);\n \tif (ret == -1) {\ndiff --git a/app/test/test_cmdline_num.c b/app/test/test_cmdline_num.c\nindex ea6b9f1e3..4c97caf3d 100644\n--- a/app/test/test_cmdline_num.c\n+++ b/app/test/test_cmdline_num.c\n@@ -318,8 +318,7 @@ test_parse_num_invalid_param(void)\n \ttoken.num_data.type = UINT32;\n \n \t/* copy string to buffer */\n-\tsnprintf(buf, sizeof(buf), \"%s\",\n-\t\t\tnum_valid_positive_strs[0].str);\n+\tstrlcpy(buf, num_valid_positive_strs[0].str, sizeof(buf));\n \n \t/* try all null */\n \tret = cmdline_parse_num(NULL, NULL, NULL, 0);\ndiff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c\nindex 13cf26c9a..ae9fc8388 100644\n--- a/app/test/test_compressdev.c\n+++ b/app/test/test_compressdev.c\n@@ -767,7 +767,7 @@ test_deflate_comp_decomp(const struct interim_data_params *int_data,\n \t\tfor (i = 0; i < num_bufs; i++) {\n \t\t\tdata_size = strlen(test_bufs[i]) + 1;\n \t\t\tbuf_ptr = rte_pktmbuf_append(uncomp_bufs[i], data_size);\n-\t\t\tsnprintf(buf_ptr, data_size, \"%s\", test_bufs[i]);\n+\t\t\tstrlcpy(buf_ptr, test_bufs[i], data_size);\n \t\t}\n \t}\n \ndiff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c\nindex d626dd712..9112c96d0 100644\n--- a/app/test/test_eal_flags.c\n+++ b/app/test/test_eal_flags.c\n@@ -58,7 +58,7 @@ get_hugepage_path(char * src, int src_len, char * dst, int dst_len)\n \t\treturn 0;\n \n \tif (strncmp(tokens[2], \"hugetlbfs\", sizeof(\"hugetlbfs\")) == 0) {\n-\t\tsnprintf(dst, dst_len, \"%s\", tokens[1]);\n+\t\tstrlcpy(dst, tokens[1], dst_len);\n \t\treturn 1;\n \t}\n \treturn 0;\ndiff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c\nindex d09f8ee5a..c7b90cb83 100644\n--- a/drivers/bus/pci/bsd/pci.c\n+++ b/drivers/bus/pci/bsd/pci.c\n@@ -145,7 +145,7 @@ pci_uio_alloc_resource(struct rte_pci_device *dev,\n \t\tgoto error;\n \t}\n \n-\tsnprintf((*uio_res)->path, sizeof((*uio_res)->path), \"%s\", devname);\n+\tstrlcpy((*uio_res)->path, devname, sizeof((*uio_res)->path));\n \tmemcpy(&(*uio_res)->pci_addr, &dev->addr, sizeof((*uio_res)->pci_addr));\n \n \treturn 0;\ndiff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c\nindex 87f0e2b6b..04f76a63f 100644\n--- a/drivers/bus/vdev/vdev.c\n+++ b/drivers/bus/vdev/vdev.c\n@@ -192,7 +192,7 @@ alloc_devargs(const char *name, const char *args)\n \telse\n \t\tdevargs->args = strdup(\"\");\n \n-\tret = snprintf(devargs->name, sizeof(devargs->name), \"%s\", name);\n+\tret = strlcpy(devargs->name, name, sizeof(devargs->name));\n \tif (ret < 0 || ret >= (int)sizeof(devargs->name)) {\n \t\tfree(devargs->args);\n \t\tfree(devargs);\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex 154257ffe..f30422a6d 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -493,27 +493,27 @@ arp_op_name(uint16_t arp_op, char *buf, size_t buf_len)\n {\n \tswitch (arp_op) {\n \tcase ARP_OP_REQUEST:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"ARP Request\");\n+\t\tstrlcpy(buf, \"ARP Request\", buf_len);\n \t\treturn;\n \tcase ARP_OP_REPLY:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"ARP Reply\");\n+\t\tstrlcpy(buf, \"ARP Reply\", buf_len);\n \t\treturn;\n \tcase ARP_OP_REVREQUEST:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"Reverse ARP Request\");\n+\t\tstrlcpy(buf, \"Reverse ARP Request\", buf_len);\n \t\treturn;\n \tcase ARP_OP_REVREPLY:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"Reverse ARP Reply\");\n+\t\tstrlcpy(buf, \"Reverse ARP Reply\", buf_len);\n \t\treturn;\n \tcase ARP_OP_INVREQUEST:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"Peer Identify Request\");\n+\t\tstrlcpy(buf, \"Peer Identify Request\", buf_len);\n \t\treturn;\n \tcase ARP_OP_INVREPLY:\n-\t\tsnprintf(buf, buf_len, \"%s\", \"Peer Identify Reply\");\n+\t\tstrlcpy(buf, \"Peer Identify Reply\", buf_len);\n \t\treturn;\n \tdefault:\n \t\tbreak;\n \t}\n-\tsnprintf(buf, buf_len, \"%s\", \"Unknown\");\n+\tstrlcpy(buf, \"Unknown\", buf_len);\n \treturn;\n }\n #endif\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex 3fbc82977..c4f3a2ba9 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -1334,10 +1334,9 @@ dpaa2_xstats_get_names(__rte_unused struct rte_eth_dev *dev,\n \n \tif (xstats_names != NULL)\n \t\tfor (i = 0; i < stat_cnt; i++)\n-\t\t\tsnprintf(xstats_names[i].name,\n-\t\t\t\t sizeof(xstats_names[i].name),\n-\t\t\t\t \"%s\",\n-\t\t\t\t dpaa2_xstats_strings[i].name);\n+\t\t\tstrlcpy(xstats_names[i].name,\n+\t\t\t\tdpaa2_xstats_strings[i].name,\n+\t\t\t\tsizeof(xstats_names[i].name));\n \n \treturn stat_cnt;\n }\ndiff --git a/drivers/net/failsafe/failsafe_args.c b/drivers/net/failsafe/failsafe_args.c\nindex c4b220c48..3351c5bca 100644\n--- a/drivers/net/failsafe/failsafe_args.c\n+++ b/drivers/net/failsafe/failsafe_args.c\n@@ -102,7 +102,7 @@ fs_execute_cmd(struct sub_device *sdev, char *cmdline)\n \t\t\tERROR(\"Command line allocation failed\");\n \t\t\treturn -ENOMEM;\n \t\t}\n-\t\tsnprintf(sdev->cmdline, len, \"%s\", cmdline);\n+\t\tstrlcpy(sdev->cmdline, cmdline, len);\n \t\t/* Replace all commas in the command line by spaces */\n \t\tfor (i = 0; i < len; i++)\n \t\t\tif (sdev->cmdline[i] == ',')\ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex 891bdc061..b031bf4c6 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -3324,17 +3324,17 @@ static int i40e_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev,\n \n \t/* Get stats from i40e_eth_stats struct */\n \tfor (i = 0; i < I40E_NB_ETH_XSTATS; i++) {\n-\t\tsnprintf(xstats_names[count].name,\n-\t\t\t sizeof(xstats_names[count].name),\n-\t\t\t \"%s\", rte_i40e_stats_strings[i].name);\n+\t\tstrlcpy(xstats_names[count].name,\n+\t\t\trte_i40e_stats_strings[i].name,\n+\t\t\tsizeof(xstats_names[count].name));\n \t\tcount++;\n \t}\n \n \t/* Get individiual stats from i40e_hw_port struct */\n \tfor (i = 0; i < I40E_NB_HW_PORT_XSTATS; i++) {\n-\t\tsnprintf(xstats_names[count].name,\n-\t\t\tsizeof(xstats_names[count].name),\n-\t\t\t \"%s\", rte_i40e_hw_port_strings[i].name);\n+\t\tstrlcpy(xstats_names[count].name,\n+\t\t\trte_i40e_hw_port_strings[i].name,\n+\t\t\tsizeof(xstats_names[count].name));\n \t\tcount++;\n \t}\n \ndiff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c\nindex 22aa49c9f..353538f16 100644\n--- a/drivers/net/pcap/rte_eth_pcap.c\n+++ b/drivers/net/pcap/rte_eth_pcap.c\n@@ -1084,8 +1084,8 @@ eth_from_pcaps_common(struct rte_vdev_device *vdev,\n \t\tstruct devargs_queue *queue = &rx_queues->queue[i];\n \n \t\tpp->rx_pcap[i] = queue->pcap;\n-\t\tsnprintf(rx->name, sizeof(rx->name), \"%s\", queue->name);\n-\t\tsnprintf(rx->type, sizeof(rx->type), \"%s\", queue->type);\n+\t\tstrlcpy(rx->name, queue->name, sizeof(rx->name));\n+\t\tstrlcpy(rx->type, queue->type, sizeof(rx->type));\n \t}\n \n \tfor (i = 0; i < nb_tx_queues; i++) {\n@@ -1094,8 +1094,8 @@ eth_from_pcaps_common(struct rte_vdev_device *vdev,\n \n \t\tpp->tx_dumper[i] = queue->dumper;\n \t\tpp->tx_pcap[i] = queue->pcap;\n-\t\tsnprintf(tx->name, sizeof(tx->name), \"%s\", queue->name);\n-\t\tsnprintf(tx->type, sizeof(tx->type), \"%s\", queue->type);\n+\t\tstrlcpy(tx->name, queue->name, sizeof(tx->name));\n+\t\tstrlcpy(tx->type, queue->type, sizeof(tx->type));\n \t}\n \n \treturn 0;\ndiff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c\nindex aeb48f5ec..115a882b5 100644\n--- a/drivers/net/ring/rte_eth_ring.c\n+++ b/drivers/net/ring/rte_eth_ring.c\n@@ -497,7 +497,8 @@ static int parse_kvlist (const char *key __rte_unused, const char *value, void *\n \t\tgoto out;\n \t}\n \n-\tsnprintf(info->list[info->count].name, sizeof(info->list[info->count].name), \"%s\", name);\n+\tstrlcpy(info->list[info->count].name, name,\n+\t\tsizeof(info->list[info->count].name));\n \n \tinfo->count++;\n \ndiff --git a/drivers/net/softnic/rte_eth_softnic_tap.c b/drivers/net/softnic/rte_eth_softnic_tap.c\nindex 0cac876ed..36fe9f028 100644\n--- a/drivers/net/softnic/rte_eth_softnic_tap.c\n+++ b/drivers/net/softnic/rte_eth_softnic_tap.c\n@@ -91,7 +91,7 @@ softnic_tap_create(struct pmd_internals *p,\n \n \tmemset(&ifr, 0, sizeof(ifr));\n \tifr.ifr_flags = IFF_TAP | IFF_NO_PI; /* No packet information */\n-\tsnprintf(ifr.ifr_name, IFNAMSIZ, \"%s\", name);\n+\tstrlcpy(ifr.ifr_name, name, IFNAMSIZ);\n \n \tstatus = ioctl(fd, TUNSETIFF, (void *)&ifr);\n \tif (status < 0) {\ndiff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c\nindex 9aae4c77f..e9fda8cf6 100644\n--- a/drivers/net/tap/rte_eth_tap.c\n+++ b/drivers/net/tap/rte_eth_tap.c\n@@ -760,9 +760,9 @@ tap_ioctl(struct pmd_internals *pmd, unsigned long request,\n \t */\n apply:\n \tif (remote)\n-\t\tsnprintf(ifr->ifr_name, IFNAMSIZ, \"%s\", pmd->remote_iface);\n+\t\tstrlcpy(ifr->ifr_name, pmd->remote_iface, IFNAMSIZ);\n \telse if (mode == LOCAL_ONLY || mode == LOCAL_AND_REMOTE)\n-\t\tsnprintf(ifr->ifr_name, IFNAMSIZ, \"%s\", pmd->name);\n+\t\tstrlcpy(ifr->ifr_name, pmd->name, IFNAMSIZ);\n \tswitch (request) {\n \tcase SIOCSIFFLAGS:\n \t\t/* fetch current flags to leave other flags untouched */\n@@ -1714,7 +1714,7 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, const char *tap_name,\n \tpmd = dev->data->dev_private;\n \tdev->process_private = process_private;\n \tpmd->dev = dev;\n-\tsnprintf(pmd->name, sizeof(pmd->name), \"%s\", tap_name);\n+\tstrlcpy(pmd->name, tap_name, sizeof(pmd->name));\n \tpmd->type = type;\n \n \tpmd->ioctl_sock = socket(AF_INET, SOCK_DGRAM, 0);\n@@ -1823,8 +1823,7 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, const char *tap_name,\n \t\t\t\tpmd->name, remote_iface);\n \t\t\tgoto error_remote;\n \t\t}\n-\t\tsnprintf(pmd->remote_iface, RTE_ETH_NAME_MAX_LEN,\n-\t\t\t \"%s\", remote_iface);\n+\t\tstrlcpy(pmd->remote_iface, remote_iface, RTE_ETH_NAME_MAX_LEN);\n \n \t\t/* Save state of remote device */\n \t\ttap_ioctl(pmd, SIOCGIFFLAGS, &pmd->remote_initial_flags, 0, REMOTE_ONLY);\ndiff --git a/examples/cmdline/commands.c b/examples/cmdline/commands.c\nindex 06916d783..e96739f34 100644\n--- a/examples/cmdline/commands.c\n+++ b/examples/cmdline/commands.c\n@@ -145,7 +145,7 @@ static void cmd_obj_add_parsed(void *parsed_result,\n \t\tcmdline_printf(cl, \"mem error\\n\");\n \t\treturn;\n \t}\n-\tsnprintf(o->name, sizeof(o->name), \"%s\", res->name);\n+\tstrlcpy(o->name, res->name, sizeof(o->name));\n \to->ip = res->ip;\n \tSLIST_INSERT_HEAD(&global_obj_list, o, next);\n \ndiff --git a/examples/cmdline/parse_obj_list.c b/examples/cmdline/parse_obj_list.c\nindex 69eb448e7..5d29f9d59 100644\n--- a/examples/cmdline/parse_obj_list.c\n+++ b/examples/cmdline/parse_obj_list.c\n@@ -98,7 +98,7 @@ int complete_get_elt_obj_list(cmdline_parse_token_hdr_t *tk,\n \t\treturn -1;\n \n \tif (dstbuf)\n-\t\tsnprintf(dstbuf, size, \"%s\", o->name);\n+\t\tstrlcpy(dstbuf, o->name, size);\n \n \treturn 0;\n }\ndiff --git a/examples/exception_path/main.c b/examples/exception_path/main.c\nindex 8f37f5fbf..0d79e5a24 100644\n--- a/examples/exception_path/main.c\n+++ b/examples/exception_path/main.c\n@@ -176,7 +176,7 @@ static int tap_create(char *name)\n \tifr.ifr_flags = IFF_TAP | IFF_NO_PI;\n \n \tif (name && *name)\n-\t\tsnprintf(ifr.ifr_name, IFNAMSIZ, \"%s\", name);\n+\t\tstrlcpy(ifr.ifr_name, name, IFNAMSIZ);\n \n \tret = ioctl(fd, TUNSETIFF, (void *) &ifr);\n \tif (ret < 0) {\n@@ -185,7 +185,7 @@ static int tap_create(char *name)\n \t}\n \n \tif (name)\n-\t\tsnprintf(name, IFNAMSIZ, \"%s\", ifr.ifr_name);\n+\t\tstrlcpy(name, ifr.ifr_name, IFNAMSIZ);\n \n \treturn fd;\n }\ndiff --git a/examples/ip_pipeline/kni.c b/examples/ip_pipeline/kni.c\nindex 7e5ff0543..e3d0b3758 100644\n--- a/examples/ip_pipeline/kni.c\n+++ b/examples/ip_pipeline/kni.c\n@@ -126,7 +126,7 @@ kni_create(const char *name, struct kni_params *params)\n \trte_eth_dev_info_get(link->port_id, &dev_info);\n \n \tmemset(&kni_conf, 0, sizeof(kni_conf));\n-\tsnprintf(kni_conf.name, RTE_KNI_NAMESIZE, \"%s\", name);\n+\tstrlcpy(kni_conf.name, name, RTE_KNI_NAMESIZE);\n \tkni_conf.force_bind = params->force_bind;\n \tkni_conf.core_id = params->thread_id;\n \tkni_conf.group_id = link->port_id;\ndiff --git a/examples/ip_pipeline/tap.c b/examples/ip_pipeline/tap.c\nindex ea979bdf8..adae640c1 100644\n--- a/examples/ip_pipeline/tap.c\n+++ b/examples/ip_pipeline/tap.c\n@@ -75,7 +75,7 @@ tap_create(const char *name)\n \n \tmemset(&ifr, 0, sizeof(ifr));\n \tifr.ifr_flags = IFF_TAP | IFF_NO_PI; /* No packet information */\n-\tsnprintf(ifr.ifr_name, IFNAMSIZ, \"%s\", name);\n+\tstrlcpy(ifr.ifr_name, name, IFNAMSIZ);\n \n \tstatus = ioctl(fd, TUNSETIFF, (void *) &ifr);\n \tif (status < 0) {\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex 9c7b31564..3b448acc4 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -1384,7 +1384,7 @@ parse_ep_config(const char *q_arg)\n \tep_med_edpi = EMPTY_POLL_MED_THRESHOLD;\n \tep_hgh_edpi = EMPTY_POLL_MED_THRESHOLD;\n \n-\tsnprintf(s, sizeof(s), \"%s\", p);\n+\tstrlcpy(s, p, sizeof(s));\n \n \tnum_arg = rte_strsplit(s, sizeof(s), str_fld, 3, ',');\n \ndiff --git a/examples/multi_process/simple_mp/mp_commands.c b/examples/multi_process/simple_mp/mp_commands.c\nindex e4df6ff01..bdf494772 100644\n--- a/examples/multi_process/simple_mp/mp_commands.c\n+++ b/examples/multi_process/simple_mp/mp_commands.c\n@@ -48,7 +48,7 @@ static void cmd_send_parsed(void *parsed_result,\n \n \tif (rte_mempool_get(message_pool, &msg) < 0)\n \t\trte_panic(\"Failed to get message buffer\\n\");\n-\tsnprintf((char *)msg, STR_TOKEN_SIZE, \"%s\", res->message);\n+\tstrlcpy((char *)msg, res->message, STR_TOKEN_SIZE);\n \tif (rte_ring_enqueue(send_ring, msg) < 0) {\n \t\tprintf(\"Failed to send message - message discarded\\n\");\n \t\trte_mempool_put(message_pool, msg);\ndiff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c\nindex 216e0105a..d40e163b0 100644\n--- a/examples/netmap_compat/bridge/bridge.c\n+++ b/examples/netmap_compat/bridge/bridge.c\n@@ -174,7 +174,7 @@ netmap_port_open(uint32_t idx)\n \n \tport->fd = rte_netmap_open(\"/dev/netmap\", O_RDWR);\n \n-\tsnprintf(req.nr_name, sizeof(req.nr_name), \"%s\", port->str);\n+\tstrlcpy(req.nr_name, port->str, sizeof(req.nr_name));\n \treq.nr_version = NETMAP_API;\n \treq.nr_ringid = 0;\n \n@@ -184,7 +184,7 @@ netmap_port_open(uint32_t idx)\n \t\treturn err;\n \t}\n \n-\tsnprintf(req.nr_name, sizeof(req.nr_name), \"%s\", port->str);\n+\tstrlcpy(req.nr_name, port->str, sizeof(req.nr_name));\n \treq.nr_version = NETMAP_API;\n \treq.nr_ringid = 0;\n \ndiff --git a/examples/netmap_compat/lib/compat_netmap.c b/examples/netmap_compat/lib/compat_netmap.c\nindex 0be0663ed..10a437943 100644\n--- a/examples/netmap_compat/lib/compat_netmap.c\n+++ b/examples/netmap_compat/lib/compat_netmap.c\n@@ -302,7 +302,7 @@ netmap_regif(struct nmreq *req, uint32_t idx, uint16_t port)\n \tif (req->nr_ringid != 0)\n \t\treturn -EINVAL;\n \n-\tsnprintf(nmif->ni_name, sizeof(nmif->ni_name), \"%s\", req->nr_name);\n+\tstrlcpy(nmif->ni_name, req->nr_name, sizeof(nmif->ni_name));\n \tnmif->ni_version  = req->nr_version;\n \n \t/* Netmap uses ni_(r|t)x_rings + 1 */\ndiff --git a/examples/tep_termination/main.c b/examples/tep_termination/main.c\nindex d6379e31e..e0fe7bd2f 100644\n--- a/examples/tep_termination/main.c\n+++ b/examples/tep_termination/main.c\n@@ -191,7 +191,7 @@ us_vhost_parse_basename(const char *q_arg)\n \tif (strlen(q_arg) >= MAX_BASENAME_SZ)\n \t\treturn -1;\n \telse\n-\t\tsnprintf((char *)&dev_basename, MAX_BASENAME_SZ, \"%s\", q_arg);\n+\t\tstrlcpy((char *)&dev_basename, q_arg, MAX_BASENAME_SZ);\n \n \treturn 0;\n }\ndiff --git a/examples/vhost/main.c b/examples/vhost/main.c\nindex 5e914f58e..8f7b758c3 100644\n--- a/examples/vhost/main.c\n+++ b/examples/vhost/main.c\n@@ -366,7 +366,7 @@ us_vhost_parse_socket_path(const char *q_arg)\n \t\treturn -1;\n \t}\n \n-\tsnprintf(socket_files + nb_sockets * PATH_MAX, PATH_MAX, \"%s\", q_arg);\n+\tstrlcpy(socket_files + nb_sockets * PATH_MAX, q_arg, PATH_MAX);\n \tnb_sockets++;\n \n \treturn 0;\ndiff --git a/examples/vhost_scsi/scsi.c b/examples/vhost_scsi/scsi.c\nindex 0c2fa3e6a..b1529afdc 100644\n--- a/examples/vhost_scsi/scsi.c\n+++ b/examples/vhost_scsi/scsi.c\n@@ -234,8 +234,8 @@ vhost_bdev_scsi_inquiry_command(struct vhost_block_dev *bdev,\n \t\t\tdesig->reserved0 = 0;\n \t\t\tdesig->piv = 1;\n \t\t\tdesig->reserved1 = 0;\n-\t\t\tdesig->len = snprintf((char *)desig->desig,\n-\t\t\t\t\t      255, \"%s\", bdev->name);\n+\t\t\tdesig->len = strlcpy((char *)desig->desig, bdev->name,\n+\t\t\t\t\t     255);\n \t\t\tlen += sizeof(struct scsi_desig_desc) + desig->len;\n \n \t\t\tbuf += sizeof(struct scsi_desig_desc) + desig->len;\n@@ -281,9 +281,8 @@ vhost_bdev_scsi_inquiry_command(struct vhost_block_dev *bdev,\n \t\t\tsizeof(inqdata->t10_vendor_id));\n \n \t\t/* PRODUCT IDENTIFICATION */\n-\t\tsnprintf((char *)inqdata->product_id,\n-\t\t\t\tRTE_DIM(inqdata->product_id), \"%s\",\n-\t\t\t\tbdev->product_name);\n+\t\tstrlcpy((char *)inqdata->product_id, bdev->product_name,\n+\t\t\tRTE_DIM(inqdata->product_id));\n \n \t\t/* PRODUCT REVISION LEVEL */\n \t\tstrlcpy((char *)inqdata->product_rev, \"0001\",\ndiff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c\nindex d9042f048..53cda84c1 100644\n--- a/lib/librte_cmdline/cmdline.c\n+++ b/lib/librte_cmdline/cmdline.c\n@@ -69,7 +69,7 @@ cmdline_set_prompt(struct cmdline *cl, const char *prompt)\n {\n \tif (!cl || !prompt)\n \t\treturn;\n-\tsnprintf(cl->prompt, sizeof(cl->prompt), \"%s\", prompt);\n+\tstrlcpy(cl->prompt, prompt, sizeof(cl->prompt));\n }\n \n struct cmdline *\ndiff --git a/lib/librte_cmdline/cmdline_parse.c b/lib/librte_cmdline/cmdline_parse.c\nindex 9666e90c2..b57b30e8f 100644\n--- a/lib/librte_cmdline/cmdline_parse.c\n+++ b/lib/librte_cmdline/cmdline_parse.c\n@@ -394,8 +394,9 @@ cmdline_complete(struct cmdline *cl, const char *buf, int *state,\n \t\t\t\tif (!strncmp(partial_tok, tmpbuf,\n \t\t\t\t\t     partial_tok_len)) {\n \t\t\t\t\tif (comp_len == -1) {\n-\t\t\t\t\t\tsnprintf(comp_buf, sizeof(comp_buf),\n-\t\t\t\t\t\t\t \"%s\", tmpbuf + partial_tok_len);\n+\t\t\t\t\t\tstrlcpy(comp_buf,\n+\t\t\t\t\t\t\ttmpbuf + partial_tok_len,\n+\t\t\t\t\t\t\tsizeof(comp_buf));\n \t\t\t\t\t\tcomp_len =\n \t\t\t\t\t\t\tstrnlen(tmpbuf + partial_tok_len,\n \t\t\t\t\t\t\t\t\tsizeof(tmpbuf) - partial_tok_len);\ndiff --git a/lib/librte_cmdline/cmdline_parse_num.c b/lib/librte_cmdline/cmdline_parse_num.c\nindex 55c7a8148..182ac12f0 100644\n--- a/lib/librte_cmdline/cmdline_parse_num.c\n+++ b/lib/librte_cmdline/cmdline_parse_num.c\n@@ -340,7 +340,7 @@ cmdline_get_help_num(cmdline_parse_token_hdr_t *tk, char *dstbuf, unsigned int s\n \t/* if (nd.type >= (sizeof(num_help)/sizeof(const char *))) */\n \t/* return -1; */\n \n-\tret = snprintf(dstbuf, size, \"%s\", num_help[nd.type]);\n+\tret = strlcpy(dstbuf, num_help[nd.type], size);\n \tif (ret < 0)\n \t\treturn -1;\n \tdstbuf[size-1] = '\\0';\ndiff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c\nindex 871d7dda8..a48863d81 100644\n--- a/lib/librte_cryptodev/rte_cryptodev.c\n+++ b/lib/librte_cryptodev/rte_cryptodev.c\n@@ -694,8 +694,8 @@ rte_cryptodev_pmd_allocate(const char *name, int socket_id)\n \n \t\tcryptodev->data = cryptodev_data;\n \n-\t\tsnprintf(cryptodev->data->name, RTE_CRYPTODEV_NAME_MAX_LEN,\n-\t\t\t\t\"%s\", name);\n+\t\tstrlcpy(cryptodev->data->name, name,\n+\t\t\tRTE_CRYPTODEV_NAME_MAX_LEN);\n \n \t\tcryptodev->data->dev_id = dev_id;\n \t\tcryptodev->data->socket_id = socket_id;\ndiff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c\nindex d50598377..208abfb1d 100644\n--- a/lib/librte_distributor/rte_distributor.c\n+++ b/lib/librte_distributor/rte_distributor.c\n@@ -625,7 +625,7 @@ rte_distributor_create_v1705(const char *name,\n \t}\n \n \td = mz->addr;\n-\tsnprintf(d->name, sizeof(d->name), \"%s\", name);\n+\tstrlcpy(d->name, name, sizeof(d->name));\n \td->num_workers = num_workers;\n \td->alg_type = alg_type;\n \ndiff --git a/lib/librte_distributor/rte_distributor_v20.c b/lib/librte_distributor/rte_distributor_v20.c\nindex 9566b53f2..cd5940713 100644\n--- a/lib/librte_distributor/rte_distributor_v20.c\n+++ b/lib/librte_distributor/rte_distributor_v20.c\n@@ -386,7 +386,7 @@ rte_distributor_create_v20(const char *name,\n \t}\n \n \td = mz->addr;\n-\tsnprintf(d->name, sizeof(d->name), \"%s\", name);\n+\tstrlcpy(d->name, name, sizeof(d->name));\n \td->num_workers = num_workers;\n \n \tdistributor_list = RTE_TAILQ_CAST(rte_distributor_tailq.head,\ndiff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c\nindex 664df5b9f..521ad7ca1 100644\n--- a/lib/librte_eal/common/eal_common_memzone.c\n+++ b/lib/librte_eal/common/eal_common_memzone.c\n@@ -171,7 +171,7 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len,\n \t\treturn NULL;\n \t}\n \n-\tsnprintf(mz->name, sizeof(mz->name), \"%s\", name);\n+\tstrlcpy(mz->name, name, sizeof(mz->name));\n \tmz->iova = rte_malloc_virt2iova(mz_addr);\n \tmz->addr = mz_addr;\n \tmz->len = requested_len == 0 ?\ndiff --git a/lib/librte_eal/common/eal_common_tailqs.c b/lib/librte_eal/common/eal_common_tailqs.c\nindex babd3b30a..ca2a7d32a 100644\n--- a/lib/librte_eal/common/eal_common_tailqs.c\n+++ b/lib/librte_eal/common/eal_common_tailqs.c\n@@ -80,7 +80,7 @@ rte_eal_tailq_create(const char *name)\n \n \t\tmcfg = rte_eal_get_configuration()->mem_config;\n \t\thead = &mcfg->tailq_head[rte_tailqs_count];\n-\t\tsnprintf(head->name, sizeof(head->name) - 1, \"%s\", name);\n+\t\tstrlcpy(head->name, name, sizeof(head->name) - 1);\n \t\tTAILQ_INIT(&head->tailq_head);\n \t\trte_tailqs_count++;\n \t}\ndiff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c\nindex 10bdfb37e..8b25c2adb 100644\n--- a/lib/librte_ethdev/rte_ethdev.c\n+++ b/lib/librte_ethdev/rte_ethdev.c\n@@ -2068,9 +2068,9 @@ rte_eth_basic_stats_get_names(struct rte_eth_dev *dev,\n \tuint16_t num_q;\n \n \tfor (idx = 0; idx < RTE_NB_STATS; idx++) {\n-\t\tsnprintf(xstats_names[cnt_used_entries].name,\n-\t\t\tsizeof(xstats_names[0].name),\n-\t\t\t\"%s\", rte_stats_strings[idx].name);\n+\t\tstrlcpy(xstats_names[cnt_used_entries].name,\n+\t\t\trte_stats_strings[idx].name,\n+\t\t\tsizeof(xstats_names[0].name));\n \t\tcnt_used_entries++;\n \t}\n \tnum_q = RTE_MIN(dev->data->nb_rx_queues, RTE_ETHDEV_QUEUE_STAT_CNTRS);\ndiff --git a/lib/librte_hash/rte_cuckoo_hash.c b/lib/librte_hash/rte_cuckoo_hash.c\nindex 0dddce226..7103b871f 100644\n--- a/lib/librte_hash/rte_cuckoo_hash.c\n+++ b/lib/librte_hash/rte_cuckoo_hash.c\n@@ -379,7 +379,7 @@ rte_hash_create(const struct rte_hash_parameters *params)\n \t\tdefault_hash_func = (rte_hash_function)rte_hash_crc;\n #endif\n \t/* Setup hash context */\n-\tsnprintf(h->name, sizeof(h->name), \"%s\", params->name);\n+\tstrlcpy(h->name, params->name, sizeof(h->name));\n \th->entries = params->entries;\n \th->key_len = params->key_len;\n \th->key_entry_size = key_entry_size;\ndiff --git a/lib/librte_hash/rte_fbk_hash.c b/lib/librte_hash/rte_fbk_hash.c\nindex c9b470d7e..9360f7981 100644\n--- a/lib/librte_hash/rte_fbk_hash.c\n+++ b/lib/librte_hash/rte_fbk_hash.c\n@@ -141,7 +141,7 @@ rte_fbk_hash_create(const struct rte_fbk_hash_params *params)\n #endif\n \n \t/* Set up hash table context. */\n-\tsnprintf(ht->name, sizeof(ht->name), \"%s\", params->name);\n+\tstrlcpy(ht->name, params->name, sizeof(ht->name));\n \tht->entries = params->entries;\n \tht->entries_per_bucket = params->entries_per_bucket;\n \tht->used_entries = 0;\ndiff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c\nindex 192f2fed0..946459c79 100644\n--- a/lib/librte_kni/rte_kni.c\n+++ b/lib/librte_kni/rte_kni.c\n@@ -234,7 +234,7 @@ rte_kni_alloc(struct rte_mempool *pktmbuf_pool,\n \t\tgoto kni_fail;\n \t}\n \n-\tsnprintf(kni->name, RTE_KNI_NAMESIZE, \"%s\", conf->name);\n+\tstrlcpy(kni->name, conf->name, RTE_KNI_NAMESIZE);\n \n \tif (ops)\n \t\tmemcpy(&kni->ops, ops, sizeof(struct rte_kni_ops));\n@@ -255,7 +255,7 @@ rte_kni_alloc(struct rte_mempool *pktmbuf_pool,\n \n \tmemcpy(dev_info.mac_addr, conf->mac_addr, ETHER_ADDR_LEN);\n \n-\tsnprintf(dev_info.name, RTE_KNI_NAMESIZE, \"%s\", conf->name);\n+\tstrlcpy(dev_info.name, conf->name, RTE_KNI_NAMESIZE);\n \n \tRTE_LOG(INFO, KNI, \"pci: %02x:%02x:%02x \\t %02x:%02x\\n\",\n \t\tdev_info.bus, dev_info.devid, dev_info.function,\n@@ -400,7 +400,7 @@ rte_kni_release(struct rte_kni *kni)\n \tif (te == NULL)\n \t\tgoto unlock;\n \n-\tsnprintf(dev_info.name, sizeof(dev_info.name), \"%s\", kni->name);\n+\tstrlcpy(dev_info.name, kni->name, sizeof(dev_info.name));\n \tif (ioctl(kni_fd, RTE_KNI_IOCTL_RELEASE, &dev_info) < 0) {\n \t\tRTE_LOG(ERR, KNI, \"Fail to release kni device\\n\");\n \t\tgoto unlock;\ndiff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c\nindex d00b13d93..6b7b28a2e 100644\n--- a/lib/librte_lpm/rte_lpm.c\n+++ b/lib/librte_lpm/rte_lpm.c\n@@ -205,7 +205,7 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules,\n \n \t/* Save user arguments. */\n \tlpm->max_rules = max_rules;\n-\tsnprintf(lpm->name, sizeof(lpm->name), \"%s\", name);\n+\tstrlcpy(lpm->name, name, sizeof(lpm->name));\n \n \tte->data = lpm;\n \n@@ -308,7 +308,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,\n \t/* Save user arguments. */\n \tlpm->max_rules = config->max_rules;\n \tlpm->number_tbl8s = config->number_tbl8s;\n-\tsnprintf(lpm->name, sizeof(lpm->name), \"%s\", name);\n+\tstrlcpy(lpm->name, name, sizeof(lpm->name));\n \n \tte->data = lpm;\n \ndiff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c\nindex 6212003f4..a91803113 100644\n--- a/lib/librte_lpm/rte_lpm6.c\n+++ b/lib/librte_lpm/rte_lpm6.c\n@@ -352,7 +352,7 @@ rte_lpm6_create(const char *name, int socket_id,\n \t/* Save user arguments. */\n \tlpm->max_rules = config->max_rules;\n \tlpm->number_tbl8s = config->number_tbl8s;\n-\tsnprintf(lpm->name, sizeof(lpm->name), \"%s\", name);\n+\tstrlcpy(lpm->name, name, sizeof(lpm->name));\n \tlpm->rules_tbl = rules_tbl;\n \tlpm->tbl8_pool = tbl8_pool;\n \tlpm->tbl8_hdrs = tbl8_hdrs;\ndiff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c\nindex 683b216f9..69bd2a65c 100644\n--- a/lib/librte_mempool/rte_mempool.c\n+++ b/lib/librte_mempool/rte_mempool.c\n@@ -864,7 +864,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,\n \t/* init the mempool structure */\n \tmp = mz->addr;\n \tmemset(mp, 0, MEMPOOL_HEADER_SIZE(mp, cache_size));\n-\tret = snprintf(mp->name, sizeof(mp->name), \"%s\", name);\n+\tret = strlcpy(mp->name, name, sizeof(mp->name));\n \tif (ret < 0 || ret >= (int)sizeof(mp->name)) {\n \t\trte_errno = ENAMETOOLONG;\n \t\tgoto exit_unlock;\ndiff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c\nindex 4f38ac58b..14744b9ff 100644\n--- a/lib/librte_pdump/rte_pdump.c\n+++ b/lib/librte_pdump/rte_pdump.c\n@@ -501,15 +501,15 @@ pdump_prepare_client_request(char *device, uint16_t queue,\n \treq->flags = flags;\n \treq->op = operation;\n \tif ((operation & ENABLE) != 0) {\n-\t\tsnprintf(req->data.en_v1.device,\n-\t\t\t sizeof(req->data.en_v1.device), \"%s\", device);\n+\t\tstrlcpy(req->data.en_v1.device, device,\n+\t\t\tsizeof(req->data.en_v1.device));\n \t\treq->data.en_v1.queue = queue;\n \t\treq->data.en_v1.ring = ring;\n \t\treq->data.en_v1.mp = mp;\n \t\treq->data.en_v1.filter = filter;\n \t} else {\n-\t\tsnprintf(req->data.dis_v1.device,\n-\t\t\t sizeof(req->data.dis_v1.device), \"%s\", device);\n+\t\tstrlcpy(req->data.dis_v1.device, device,\n+\t\t\tsizeof(req->data.dis_v1.device));\n \t\treq->data.dis_v1.queue = queue;\n \t\treq->data.dis_v1.ring = NULL;\n \t\treq->data.dis_v1.mp = NULL;\ndiff --git a/lib/librte_pipeline/rte_pipeline.c b/lib/librte_pipeline/rte_pipeline.c\nindex 2c047a8a4..f5f397d29 100644\n--- a/lib/librte_pipeline/rte_pipeline.c\n+++ b/lib/librte_pipeline/rte_pipeline.c\n@@ -214,7 +214,7 @@ rte_pipeline_create(struct rte_pipeline_params *params)\n \t}\n \n \t/* Save input parameters */\n-\tsnprintf(p->name, RTE_PIPELINE_MAX_NAME_SZ, \"%s\", params->name);\n+\tstrlcpy(p->name, params->name, RTE_PIPELINE_MAX_NAME_SZ);\n \tp->socket_id = params->socket_id;\n \tp->offset_port_id = params->offset_port_id;\n \ndiff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c\nindex d215acecc..a542f6f5d 100644\n--- a/lib/librte_ring/rte_ring.c\n+++ b/lib/librte_ring/rte_ring.c\n@@ -78,7 +78,7 @@ rte_ring_init(struct rte_ring *r, const char *name, unsigned count,\n \n \t/* init the ring structure */\n \tmemset(r, 0, sizeof(*r));\n-\tret = snprintf(r->name, sizeof(r->name), \"%s\", name);\n+\tret = strlcpy(r->name, name, sizeof(r->name));\n \tif (ret < 0 || ret >= (int)sizeof(r->name))\n \t\treturn -ENAMETOOLONG;\n \tr->flags = flags;\n",
    "prefixes": [
        "4/5"
    ]
}