From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>, dev@dpdk.org
Cc: reshma.pattan@intel.com, jananeex.m.parthasarathy@intel.com,
rmody@marvell.com, shshaikh@marvell.com, beilei.xing@intel.com,
qi.z.zhang@intel.com, alejandro.lucero@netronome.com,
pablo.de.lara.guarch@intel.com, declan.doherty@intel.com,
stable@dpdk.org
Subject: Re: [PATCH v5] drivers: fix possible overflow with strcat
Date: Wed, 13 Mar 2019 18:39:59 +0000 [thread overview]
Message-ID: <75584dc7-b06f-67eb-903d-1e7b15544ff7@intel.com> (raw)
In-Reply-To: <1551963385-1234-1-git-send-email-tallurix.chaitanya.babu@intel.com>
On 3/7/2019 12:56 PM, Chaitanya Babu Talluri wrote:
> strcat does not check the destination length and there might be
> chances of string overflow so instead of strcat, strlcat is used.
>
> Fixes: 6f4eec2565 ("test/crypto: enhance scheduler unit tests")
> Fixes: 540a211084 ("bnx2x: driver core")
> Fixes: e163c18a15 ("net/i40e: update ptype and pctype info")
> Cc: stable@dpdk.org
>
> Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
> ---
> v5: Removed strcat.
You also dropped "drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c" change which was
in v4, intentional?
> v4: Corrected usage of strlcat.
> v3: Instead of strncat, used strlcat.
> v2: Instead of strncat, used snprintf.
> ---
> app/test/test_cryptodev.c | 3 ++-
test_cryptodev.c is not driver, also for organizational issues, can you send it
as separate patch?
When it is removed, you can use "drivers/net: ..." in patch title.
> drivers/net/bnx2x/bnx2x.c | 5 +++--
> drivers/net/i40e/i40e_ethdev.c | 4 ++--
> 3 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
> index 32f1893bc..8d5c138a5 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -11,6 +11,7 @@
> #include <rte_memcpy.h>
> #include <rte_pause.h>
> #include <rte_bus_vdev.h>
> +#include <rte_string_fns.h>
>
> #include <rte_crypto.h>
> #include <rte_cryptodev.h>
> @@ -375,7 +376,7 @@ testsuite_setup(void)
> snprintf(vdev_args, sizeof(vdev_args),
> "%s%d", temp_str, i);
> strcpy(temp_str, vdev_args);
> - strcat(temp_str, ";");
> + strlcat(temp_str, ";", sizeof(temp_str));
> slave_core_count++;
> socket_id = lcore_config[i].socket_id;
> }
> diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
> index 26b3828e8..ab092e23f 100644
> --- a/drivers/net/bnx2x/bnx2x.c
> +++ b/drivers/net/bnx2x/bnx2x.c
> @@ -25,6 +25,7 @@
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <zlib.h>
> +#include <rte_string_fns.h>
>
> #define BNX2X_PMD_VER_PREFIX "BNX2X PMD"
> #define BNX2X_PMD_VERSION_MAJOR 1
> @@ -11741,13 +11742,13 @@ static const char *get_bnx2x_flags(uint32_t flags)
>
> for (i = 0; i < 5; i++)
> if (flags & (1 << i)) {
> - strcat(flag_str, flag[i]);
> + strlcat(flag_str, flag[i], sizeof(flag_str));
> flags ^= (1 << i);
> }
> if (flags) {
> static char unknown[BNX2X_INFO_STR_MAX];
> snprintf(unknown, 32, "Unknown flag mask %x", flags);
> - strcat(flag_str, unknown);
> + strlcat(flag_str, unknown, sizeof(flag_str));
> }
> return flag_str;
> }
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index dca61f03a..9bc9a4390 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -12201,8 +12201,8 @@ i40e_update_customized_pctype(struct rte_eth_dev *dev, uint8_t *pkg,
> for (n = 0; n < proto_num; n++) {
> if (proto[n].proto_id != proto_id)
> continue;
> - strcat(name, proto[n].name);
> - strcat(name, "_");
> + strlcat(name, proto[n].name, sizeof(name));
> + strlcat(name, "_", sizeof(name));
> break;
> }
> }
>
next prev parent reply other threads:[~2019-03-13 18:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-14 6:04 [PATCH] drivers: fix to replace strcat with strncat Chaitanya Babu Talluri
2019-01-14 13:29 ` Ferruh Yigit
2019-01-14 16:24 ` Stephen Hemminger
2019-01-17 16:44 ` Thomas Monjalon
2019-01-14 14:21 ` Bruce Richardson
2019-01-15 1:53 ` Thomas Monjalon
2019-01-18 15:11 ` [PATCH v2] " Chaitanya Babu Talluri
2019-01-18 15:23 ` Chaitanya Babu Talluri
2019-01-21 10:43 ` Parthasarathy, JananeeX M
2019-02-07 11:56 ` Ferruh Yigit
2019-02-07 12:08 ` Thomas Monjalon
2019-02-07 13:27 ` Bruce Richardson
2019-02-13 11:54 ` Ferruh Yigit
2019-02-27 6:02 ` [PATCH v3] drivers: fix to replace strcat with strlcat Chaitanya Babu Talluri
2019-02-27 9:43 ` [dpdk-stable] " Ferruh Yigit
2019-02-27 9:49 ` Bruce Richardson
2019-02-27 10:26 ` Pattan, Reshma
2019-03-05 13:14 ` [PATCH v4] drivers: fix possible overflow with strcat Chaitanya Babu Talluri
2019-03-06 18:14 ` [dpdk-stable] " Ferruh Yigit
2019-03-07 12:56 ` [PATCH v5] " Chaitanya Babu Talluri
2019-03-13 18:39 ` Ferruh Yigit [this message]
2019-03-14 13:34 ` [PATCH v6] drivers/net: " Chaitanya Babu Talluri
2019-03-14 14:09 ` Pattan, Reshma
2019-03-18 12:41 ` [PATCH v7] drivers/net: fix possible overflow using strlcat Chaitanya Babu Talluri
2019-03-20 20:18 ` Ferruh Yigit
2019-03-22 7:51 ` [PATCH v8] " Chaitanya Babu Talluri
2019-03-22 8:02 ` [EXT] " Shahed Shaikh
2019-03-22 10:35 ` [dpdk-stable] " Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=75584dc7-b06f-67eb-903d-1e7b15544ff7@intel.com \
--to=ferruh.yigit@intel.com \
--cc=alejandro.lucero@netronome.com \
--cc=beilei.xing@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=jananeex.m.parthasarathy@intel.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=reshma.pattan@intel.com \
--cc=rmody@marvell.com \
--cc=shshaikh@marvell.com \
--cc=stable@dpdk.org \
--cc=tallurix.chaitanya.babu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.