From: Ariel Otilibili <ariel.otilibili@6wind.com>
To: dev@dpdk.org
Cc: Thomas Monjalon <thomas@monjalon.net>,
David Marchand <david.marchand@redhat.com>,
Ariel Otilibili <ariel.otilibili@6wind.com>,
Reshma Pattan <reshma.pattan@intel.com>,
Stephen Hemminger <stephen@networkplumber.org>,
stable@dpdk.org
Subject: [PATCH v2 1/1] pcapng: warn if NULL is passed to rte_pcapng_close
Date: Sun, 23 Feb 2025 22:41:23 +0100 [thread overview]
Message-ID: <20250223214123.447579-2-ariel.otilibili@6wind.com> (raw)
In-Reply-To: <20250223214123.447579-1-ariel.otilibili@6wind.com>
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.
In that case, rte_errno is set to EINVAL. The API is updated accordingly.
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")
Signed-off-by: Ariel Otilibili <ariel.otilibili@6wind.com>
---
.mailmap | 2 +-
lib/pcapng/rte_pcapng.c | 3 +++
lib/pcapng/rte_pcapng.h | 2 ++
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index a03d3cfb591b..ea68d6180ccc 100644
--- a/.mailmap
+++ b/.mailmap
@@ -135,7 +135,7 @@ Anupam Kapoor <anupam.kapoor@gmail.com>
Apeksha Gupta <apeksha.gupta@nxp.com>
Archana Muniganti <marchana@marvell.com> <muniganti.archana@caviumnetworks.com>
Archit Pandey <architpandeynitk@gmail.com>
-Ariel Otilibili <otilibil@eurecom.fr> <ariel.otilibili@6wind.com>
+Ariel Otilibili <ariel.otilibili@6wind.com> <otilibil@eurecom.fr>
Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
Arnaud Fiorini <arnaud.fiorini@polymtl.ca>
diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c
index 16485b27cb46..d2cbcea42885 100644
--- a/lib/pcapng/rte_pcapng.c
+++ b/lib/pcapng/rte_pcapng.c
@@ -716,6 +716,9 @@ rte_pcapng_fdopen(int fd,
void
rte_pcapng_close(rte_pcapng_t *self)
{
+ if (!self)
+ rte_errno = EINVAL;
+
close(self->outfd);
free(self);
}
diff --git a/lib/pcapng/rte_pcapng.h b/lib/pcapng/rte_pcapng.h
index 48f2b5756430..f7b976987320 100644
--- a/lib/pcapng/rte_pcapng.h
+++ b/lib/pcapng/rte_pcapng.h
@@ -60,6 +60,8 @@ rte_pcapng_fdopen(int fd,
*
* @param self
* handle to library
+
+ * If self is NULL, rte_errno is set to EINVAL.
*/
void
rte_pcapng_close(rte_pcapng_t *self);
--
2.30.2
next prev parent reply other threads:[~2025-02-23 21:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-16 16:08 [PATCH 0/1] pcapng: fix null dereference in rte_pcapng_close Ariel Otilibili
2025-02-16 16:08 ` [PATCH 1/1] " Ariel Otilibili
2025-02-16 16:51 ` Stephen Hemminger
2025-02-23 21:41 ` [PATCH v2 0/1] warn if NULL is passed to rte_pcapng_close Ariel Otilibili
2025-02-23 21:41 ` Ariel Otilibili [this message]
2025-02-23 22:04 ` [PATCH v2 1/1] pcapng: " Dmitry Kozlyuk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250223214123.447579-2-ariel.otilibili@6wind.com \
--to=ariel.otilibili@6wind.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=reshma.pattan@intel.com \
--cc=stable@dpdk.org \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).