[PATCH] lib: do not call memcpy with sz zero and null pointer

Thomas Monjalon thomas at monjalon.net
Wed Sep 21 15:06:12 CEST 2022


07/09/2022 17:05, Henning Schild:
> There is no point in such a call and UBSan complains about a call to
> memcpy with a null pointer as second arg.
> 
> When building with -Db_sanitize=undefined, Clang gives the following
> warning
> ../lib/bpf/bpf_load.c:37:20: runtime error: null pointer passed as
> 	argument 2, which is declared to never be null
> 
> A check of the sz before calling memcpy fixes that.
> 
> Signed-off-by: Henning Schild <henning.schild at siemens.com>
> ---
> --- a/lib/bpf/bpf_load.c
> +++ b/lib/bpf/bpf_load.c
> @@ -34,7 +34,8 @@ bpf_load(const struct rte_bpf_prm *prm)
>  
>  	memcpy(&bpf->prm, prm, sizeof(bpf->prm));
>  
> -	memcpy(buf + bsz, prm->xsym, xsz);
> +	if (xsz)
> +		memcpy(buf + bsz, prm->xsym, xsz);*

I assume I can safely change it to
	if (xsz > 0)
to comply with the code style.

Applied, thanks.




More information about the dev mailing list