> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Andy Green > Sent: Friday, May 11, 2018 2:46 AM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v4 10/18] net/qede: solve broken strncpy > > /home/agreen/projects/dpdk/drivers/net/qede/qede_main.c: In function > ‘qed_slowpath_start’: > /home/agreen/projects/dpdk/drivers/net/qede/qede_main.c:307:3: > error: ‘strncpy’ output may be truncated copying 12 bytes from a string of > length > 127 [-Werror=stringop-truncation] > strncpy((char *)drv_version.name, (const char *)params->name, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > MCP_DRV_VER_STR_SIZE - 4); > ~~~~~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Andy Green <a...@warmcat.com> > --- > drivers/net/qede/qede_main.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c > index 2333ca073..fcfc32d0d 100644 > --- a/drivers/net/qede/qede_main.c > +++ b/drivers/net/qede/qede_main.c > @@ -9,6 +9,7 @@ > #include <limits.h> > #include <time.h> > #include <rte_alarm.h> > +#include <rte_string_fns.h> > > #include "qede_ethdev.h" > > @@ -303,9 +304,9 @@ static int qed_slowpath_start(struct ecore_dev *edev, > drv_version.version = (params->drv_major << 24) | > (params->drv_minor << 16) | > (params->drv_rev << 8) | (params->drv_eng); > - /* TBD: strlcpy() */ > - strncpy((char *)drv_version.name, (const char *)params->name, > - MCP_DRV_VER_STR_SIZE - 4); > + strlcpy((char *)drv_version.name, (const char *)params->name, > + sizeof(drv_version.name)); > + drv_version.name[sizeof(drv_version.name) - 1] = '\0';
Strlcpy already terminates the buffer with NULL character, so this last line is not needed. Also, missing fix line and CC stable Fixes: 86a2265e59d7 ("qede: add SRIOV support") Cc: sta...@dpdk.org