<div dir="ltr">Recheck-request: iol-marvell-Functional<div><br></div><div>Putting in a recheck as I believe the fail CI reported is false.</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Feb 23, 2025 at 4:41 PM Ariel Otilibili <<a href="mailto:ariel.otilibili@6wind.com">ariel.otilibili@6wind.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">rte_pcapng_close() might dereference a null pointer; as example,<br>
PVS-Studio gives its usage in test_pcapng.c: indeed, that call to<br>
rte_pcapng_close() might receive a null pointer.<br>
<br>
In that case, rte_errno is set to EINVAL. The API is updated accordingly.<br>
<br>
Link: <a href="https://pvs-studio.com/en/docs/warnings/v522/" rel="noreferrer" target="_blank">https://pvs-studio.com/en/docs/warnings/v522/</a><br>
Link: <a href="https://github.com/DPDK/dpdk/blob/e5176f23ae8b31437c3e5eb875c81f95bf3a9942/app/test/test_pcapng.c#L438" rel="noreferrer" target="_blank">https://github.com/DPDK/dpdk/blob/e5176f23ae8b31437c3e5eb875c81f95bf3a9942/app/test/test_pcapng.c#L438</a><br>
Fixes: 8d23ce8f5ee9 ("pcapng: add new library for writing pcapng files")<br>
Signed-off-by: Ariel Otilibili <<a href="mailto:ariel.otilibili@6wind.com" target="_blank">ariel.otilibili@6wind.com</a>><br>
---<br>
 .mailmap                | 2 +-<br>
 lib/pcapng/rte_pcapng.c | 3 +++<br>
 lib/pcapng/rte_pcapng.h | 2 ++<br>
 3 files changed, 6 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/.mailmap b/.mailmap<br>
index a03d3cfb591b..ea68d6180ccc 100644<br>
--- a/.mailmap<br>
+++ b/.mailmap<br>
@@ -135,7 +135,7 @@ Anupam Kapoor <<a href="mailto:anupam.kapoor@gmail.com" target="_blank">anupam.kapoor@gmail.com</a>><br>
 Apeksha Gupta <<a href="mailto:apeksha.gupta@nxp.com" target="_blank">apeksha.gupta@nxp.com</a>><br>
 Archana Muniganti <<a href="mailto:marchana@marvell.com" target="_blank">marchana@marvell.com</a>> <<a href="mailto:muniganti.archana@caviumnetworks.com" target="_blank">muniganti.archana@caviumnetworks.com</a>><br>
 Archit Pandey <<a href="mailto:architpandeynitk@gmail.com" target="_blank">architpandeynitk@gmail.com</a>><br>
-Ariel Otilibili <<a href="mailto:otilibil@eurecom.fr" target="_blank">otilibil@eurecom.fr</a>> <<a href="mailto:ariel.otilibili@6wind.com" target="_blank">ariel.otilibili@6wind.com</a>><br>
+Ariel Otilibili <<a href="mailto:ariel.otilibili@6wind.com" target="_blank">ariel.otilibili@6wind.com</a>> <<a href="mailto:otilibil@eurecom.fr" target="_blank">otilibil@eurecom.fr</a>><br>
 Arkadiusz Kubalewski <<a href="mailto:arkadiusz.kubalewski@intel.com" target="_blank">arkadiusz.kubalewski@intel.com</a>><br>
 Arkadiusz Kusztal <<a href="mailto:arkadiuszx.kusztal@intel.com" target="_blank">arkadiuszx.kusztal@intel.com</a>><br>
 Arnaud Fiorini <<a href="mailto:arnaud.fiorini@polymtl.ca" target="_blank">arnaud.fiorini@polymtl.ca</a>><br>
diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c<br>
index 16485b27cb46..d2cbcea42885 100644<br>
--- a/lib/pcapng/rte_pcapng.c<br>
+++ b/lib/pcapng/rte_pcapng.c<br>
@@ -716,6 +716,9 @@ rte_pcapng_fdopen(int fd,<br>
 void<br>
 rte_pcapng_close(rte_pcapng_t *self)<br>
 {<br>
+       if (!self)<br>
+               rte_errno = EINVAL;<br>
+<br>
        close(self->outfd);<br>
        free(self);<br>
 }<br>
diff --git a/lib/pcapng/rte_pcapng.h b/lib/pcapng/rte_pcapng.h<br>
index 48f2b5756430..f7b976987320 100644<br>
--- a/lib/pcapng/rte_pcapng.h<br>
+++ b/lib/pcapng/rte_pcapng.h<br>
@@ -60,6 +60,8 @@ rte_pcapng_fdopen(int fd,<br>
  *<br>
  * @param self<br>
  *  handle to library<br>
+<br>
+ * If self is NULL, rte_errno is set to EINVAL.<br>
  */<br>
 void<br>
 rte_pcapng_close(rte_pcapng_t *self);<br>
-- <br>
2.30.2<br>
<br>
</blockquote></div>