39 lines
1.0 KiB
Diff
39 lines
1.0 KiB
Diff
|
|
From 6af26981e727149e2e3fdfac85e2ef86b3828b11 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Thomas Haller <thaller@redhat.com>
|
||
|
|
Date: Wed, 26 Jul 2023 16:17:18 +0200
|
||
|
|
Subject: [PATCH] lib: accept NULL argument in nla_nest_cancel() for robustness
|
||
|
|
|
||
|
|
Previously, a NULL argument would most likely also do thing, but it also
|
||
|
|
hits undefined behavior.
|
||
|
|
|
||
|
|
Conflict:NA
|
||
|
|
Reference:https://github.com/thom311/libnl/commit/6af26981e727149e2e3fdfac85e2ef86b3828b11
|
||
|
|
|
||
|
|
---
|
||
|
|
lib/attr.c | 9 +++++++++
|
||
|
|
1 file changed, 9 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/lib/attr.c b/lib/attr.c
|
||
|
|
index a4f5852..2b2d538 100644
|
||
|
|
--- a/lib/attr.c
|
||
|
|
+++ b/lib/attr.c
|
||
|
|
@@ -996,6 +996,15 @@ void nla_nest_cancel(struct nl_msg *msg, const struct nlattr *attr)
|
||
|
|
{
|
||
|
|
ssize_t len;
|
||
|
|
|
||
|
|
+ if (!attr) {
|
||
|
|
+ /* For robustness, allow a NULL attr to do nothing. NULL is also
|
||
|
|
+ * what nla_nest_start() when out of buffer space.
|
||
|
|
+ *
|
||
|
|
+ * Warning, before libnl-3.8, the function did not accept NULL!
|
||
|
|
+ * If you care, catch NULL yourself. */
|
||
|
|
+ return;
|
||
|
|
+ }
|
||
|
|
+
|
||
|
|
len = (char *) nlmsg_tail(msg->nm_nlh) - (char *) attr;
|
||
|
|
if (len < 0)
|
||
|
|
BUG();
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|