rte_pcapng_close() might dereference a null pointer; as example, PVS-Studio gives its usage in test_pcapng.c: indeed, that call to rte_pcapng_close() might receive a null pointer.
Link: https://pvs-studio.com/en/docs/warnings/v522/ Link: https://github.com/DPDK/dpdk/blob/e5176f23ae8b31437c3e5eb875c81f95bf3a9942/app/test/test_pcapng.c#L438 Fixes: 8d23ce8f5ee9 ("pcapng: add new library for writing pcapng files") Suggested-by: Stephen Hemminger <step...@networkplumber.org> Signed-off-by: Ariel Otilibili <ariel.otilib...@6wind.com> --- .mailmap | 2 +- lib/pcapng/rte_pcapng.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.mailmap b/.mailmap index a03d3cfb591b..ea68d6180ccc 100644 --- a/.mailmap +++ b/.mailmap @@ -135,7 +135,7 @@ Anupam Kapoor <anupam.kap...@gmail.com> Apeksha Gupta <apeksha.gu...@nxp.com> Archana Muniganti <march...@marvell.com> <muniganti.arch...@caviumnetworks.com> Archit Pandey <architpandeyn...@gmail.com> -Ariel Otilibili <otili...@eurecom.fr> <ariel.otilib...@6wind.com> +Ariel Otilibili <ariel.otilib...@6wind.com> <otili...@eurecom.fr> Arkadiusz Kubalewski <arkadiusz.kubalew...@intel.com> Arkadiusz Kusztal <arkadiuszx.kusz...@intel.com> Arnaud Fiorini <arnaud.fior...@polymtl.ca> diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c index 16485b27cb46..66c16ba2277d 100644 --- a/lib/pcapng/rte_pcapng.c +++ b/lib/pcapng/rte_pcapng.c @@ -716,6 +716,8 @@ rte_pcapng_fdopen(int fd, void rte_pcapng_close(rte_pcapng_t *self) { - close(self->outfd); - free(self); + if (self) { + close(self->outfd); + free(self); + } } -- 2.30.2