From eda9f0ea8ed8c276ac0280c710e0390b6f53c277 Mon Sep 17 00:00:00 2001
From: thorkill <thkr@hannover.ccc.de>
Date: Mon, 6 Jul 2015 01:04:11 +0200
Subject: [PATCH] Set edge->reverse to NULL before we free it

---
 src/edge.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/edge.c b/src/edge.c
index 312769d9..fdff942b 100644
--- a/src/edge.c
+++ b/src/edge.c
@@ -78,8 +78,11 @@ edge_t *new_edge(void) {
 void free_edge(edge_t *e) {
 	sockaddrfree(&e->address);
 	sockaddrfree(&e->local_address);
+	if (e->reverse)
+		e->reverse = NULL;
 
 	free(e);
+	e = NULL;
 }
 
 void edge_add(edge_t *e) {
@@ -155,7 +158,9 @@ bool dump_edges(connection_t *c) {
                                         local_address, e->options, e->weight,
                                         e->avg_rtt);
 			free(address);
+			address = NULL;
 			free(local_address);
+			local_address = NULL;
 		}
 	}