From 620108ea7770608de72dcbea4ca73d6fb99c1109 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 18 Sep 2018 14:34:49 -0400 Subject: [PATCH] Assert that we aren't returning a pointer to a local variable. GCC got confused here with LTO enabled. Fixes part of #27772. --- src/feature/nodelist/routerparse.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/feature/nodelist/routerparse.c b/src/feature/nodelist/routerparse.c index b76b2974fa..ae57fbe499 100644 --- a/src/feature/nodelist/routerparse.c +++ b/src/feature/nodelist/routerparse.c @@ -4436,7 +4436,9 @@ router_parse_addr_policy(directory_token_t *tok, unsigned fmt_flags) return NULL; } - return addr_policy_get_canonical_entry(&newe); + addr_policy_t *result = addr_policy_get_canonical_entry(&newe); + tor_assert(result != &newe); // We aren't returning the one from the stack. + return result; } /** Parse an exit policy line of the format "accept[6]/reject[6] private:...".