libnl3/libnl3-route-vlan-add-capability-to-indicate-heap-overflow-.patch
2019-09-30 10:57:19 -04:00

49 lines
1.6 KiB
Diff

From be550df10993c89e9367a860d5060c632ed9afbf Mon Sep 17 00:00:00 2001
From: Thomas Haller <thaller@redhat.com>
Date: Mon, 23 Oct 2017 10:54:10 +0200
Subject: [PATCH 07/76] route/vlan: add capability to indicate heap overflow
fix in rtnl_link_vlan_set_egress_map()
Without this fix/capablity, adding more then 4 mappings in
rtnl_link_vlan_set_egress_map() overflows the heap.
---
include/netlink/utils.h | 8 ++++++++
lib/utils.c | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/include/netlink/utils.h b/include/netlink/utils.h
index 10e76ce..dc22c9d 100644
--- a/include/netlink/utils.h
+++ b/include/netlink/utils.h
@@ -286,6 +286,14 @@ enum {
NL_CAPABILITY_VERSION_3_4_0 = 28,
#define NL_CAPABILITY_VERSION_3_4_0 NL_CAPABILITY_VERSION_3_4_0
+ /**
+ * Fixed memory corruption in rtnl_link_vlan_set_egress_map(). Previously, if you tried
+ * to add more then 4 mappings, a buffer overflow occured. Also fixed nl_object_clone()
+ * for VLAN links.
+ */
+ NL_CAPABILITY_ROUTE_FIX_VLAN_SET_EGRESS_MAP = 29,
+#define NL_CAPABILITY_ROUTE_FIX_VLAN_SET_EGRESS_MAP NL_CAPABILITY_ROUTE_FIX_VLAN_SET_EGRESS_MAP
+
__NL_CAPABILITY_MAX,
NL_CAPABILITY_MAX = (__NL_CAPABILITY_MAX - 1),
#define NL_CAPABILITY_MAX NL_CAPABILITY_MAX
diff --git a/lib/utils.c b/lib/utils.c
index 544feda..eefe802 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -1221,7 +1221,7 @@ int nl_has_capability (int capability)
NL_CAPABILITY_XFRM_SP_SEC_CTX_LEN,
NL_CAPABILITY_VERSION_3_3_0,
NL_CAPABILITY_VERSION_3_4_0,
- 0,
+ NL_CAPABILITY_ROUTE_FIX_VLAN_SET_EGRESS_MAP,
0,
0,
0),
--
1.8.3.1