> -----Original Message----- > From: Laatz, Kevin > Sent: Thursday, April 19, 2018 12:03 PM > To: dev@dpdk.org > Cc: Dumitrescu, Cristian <cristian.dumitre...@intel.com>; Laatz, Kevin > <kevin.la...@intel.com>; Singh, Jasvinder <jasvinder.si...@intel.com> > Subject: [PATCH] examples/ip_pipeline: fix buffer not null terminated > > The destination string may not have a NULL termination if the source's string > is > equal to the sizeof(tmgr_port->name). > > Using strlcpy in place of strncpy fixes this issue as strlcpy guarantees NULL > termination. > > Coverity issue: 272592 > Fixes: 25961ff3bcb9 ("examples/ip_pipeline: add traffic manager object") > Cc: jasvinder.si...@intel.com > > Signed-off-by: Kevin Laatz <kevin.la...@intel.com> > --- > examples/ip_pipeline/tmgr.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/examples/ip_pipeline/tmgr.c b/examples/ip_pipeline/tmgr.c index > b46ca96..40cbf1d 100644 > --- a/examples/ip_pipeline/tmgr.c > +++ b/examples/ip_pipeline/tmgr.c > @@ -4,6 +4,8 @@ > > #include <stdlib.h> > > +#include <rte_string_fns.h> > + > #include "tmgr.h" > > static struct rte_sched_subport_params > @@ -148,7 +150,7 @@ tmgr_port_create(const char *name, struct > tmgr_port_params *params) > } > > /* Node fill in */ > - strncpy(tmgr_port->name, name, sizeof(tmgr_port->name)); > + strlcpy(tmgr_port->name, name, sizeof(tmgr_port->name)); > tmgr_port->s = s; > tmgr_port->n_subports_per_port = params->n_subports_per_port; > tmgr_port->n_pipes_per_subport = params->n_pipes_per_subport; > -- > 2.9.5
Reviewed-by: Jasvinder Singh <jasvinder.si...@intel.com>