summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-07-10 21:53:24 +0200
committerThomas Haller <thaller@redhat.com>2017-07-10 21:53:59 +0200
commit67bc29bed1d37e0c1e3db806f37db382d7623163 (patch)
tree13e499675db5121a47a74183431bd47c9dd7c877
parent0c23191b01fb0582d8f3d470f463afdabc2fdf46 (diff)
downloadNetworkManager-67bc29bed1d37e0c1e3db806f37db382d7623163.tar.gz
core: fix heap overflow accessing NMIP4Config's idx_ip4_routes
and NMIP6Config. Fixes: 935411e5c03dcb62d5b2a85e67bf3220c75d0f5e
-rw-r--r--src/nm-ip4-config.c5
-rw-r--r--src/nm-ip6-config.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 1ec3115d4e..2b069777e8 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -167,7 +167,10 @@ typedef struct {
GVariant *address_data_variant;
GVariant *addresses_variant;
NMDedupMultiIndex *multi_idx;
- NMDedupMultiIdxType idx_ip4_routes;
+ union {
+ NMIPConfigDedupMultiIdxType idx_ip4_routes_;
+ NMDedupMultiIdxType idx_ip4_routes;
+ };
} NMIP4ConfigPrivate;
struct _NMIP4Config {
diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c
index dde62e9501..16b9ef0ea0 100644
--- a/src/nm-ip6-config.c
+++ b/src/nm-ip6-config.c
@@ -57,7 +57,10 @@ typedef struct {
GVariant *address_data_variant;
GVariant *addresses_variant;
NMDedupMultiIndex *multi_idx;
- NMDedupMultiIdxType idx_ip6_routes;
+ union {
+ NMIPConfigDedupMultiIdxType idx_ip6_routes_;
+ NMDedupMultiIdxType idx_ip6_routes;
+ };
} NMIP6ConfigPrivate;
struct _NMIP6Config {