[PATCH] lib: do not call memcpy with sz zero and null pointer
Henning Schild
henning.schild at siemens.com
Wed Sep 7 17:05:03 CEST 2022
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>
---
lib/bpf/bpf_load.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/bpf/bpf_load.c b/lib/bpf/bpf_load.c
index 0c4ac7be6c55..48d3d80ac3e3 100644
--- 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);
memcpy(buf + bsz + xsz, prm->ins, insz);
bpf->prm.xsym = (void *)(buf + bsz);
--
2.35.1
More information about the dev
mailing list