[dpdk-dev] [PATCH 2/5] example_ip_pipeline: avoid strncpy issue
Bruce Richardson
bruce.richardson at intel.com
Thu Sep 10 10:44:03 CEST 2015
On Mon, Aug 31, 2015 at 06:59:03PM -0700, Stephen Hemminger wrote:
> If name is so long that it fills buffer, then string would not
> be null terminated.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> ---
> examples/ip_pipeline/config_parse_tm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/examples/ip_pipeline/config_parse_tm.c b/examples/ip_pipeline/config_parse_tm.c
> index 84702b0..4a35715 100644
> --- a/examples/ip_pipeline/config_parse_tm.c
> +++ b/examples/ip_pipeline/config_parse_tm.c
> @@ -354,7 +354,9 @@ tm_cfgfile_load_sched_subport(
> profile = atoi(entries[j].value);
> strncpy(name,
> entries[j].name,
> - sizeof(name));
> + CFG_NAME_LEN - 1);
> + name[CFG_NAME_LEN-1] = '\0';
> +
> n_tokens = rte_strsplit(
> &name[sizeof("pipe")],
> strnlen(name, CFG_NAME_LEN),
> --
> 2.1.4
>
Would using snprintf rather than strncpy be tidier? Would save having to worry
about null termination at all.
/Bruce
More information about the dev
mailing list