Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > ab42fdb54ba8e0b84355e1598799e9cf > files > 2

wireguard-tools-0.0.20180519-1.mga6.src.rpm

From c128740cb957e3908c4a8057f6170fa0d68c93a4 Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Sat, 19 May 2018 04:17:49 +0200
Subject: allowedips: set pointer to null before freeing

---
 src/allowedips.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/allowedips.c b/src/allowedips.c
index 293bb75..07b2a3c 100644
--- a/src/allowedips.c
+++ b/src/allowedips.c
@@ -279,11 +279,12 @@ void allowedips_init(struct allowedips *table)
 
 void allowedips_free(struct allowedips *table, struct mutex *lock)
 {
+	struct allowedips_node __rcu *old4 = table->root4, *old6 = table->root6;
 	++table->seq;
-	free_root_node(table->root4, lock);
 	rcu_assign_pointer(table->root4, NULL);
-	free_root_node(table->root6, lock);
 	rcu_assign_pointer(table->root6, NULL);
+	free_root_node(old4, lock);
+	free_root_node(old6, lock);
 }
 
 int allowedips_insert_v4(struct allowedips *table, const struct in_addr *ip, u8 cidr, struct wireguard_peer *peer, struct mutex *lock)
-- 
cgit v1.1-37-gf5b9