From bcbc2aa75ef54831fa495cfdfa17b2e7d60603f4 Mon Sep 17 00:00:00 2001 From: Emanuele Bovisio Date: Thu, 5 Nov 2020 14:36:00 +0100 Subject: [PATCH] lib, bgpd: fix crash using skiplist debug function calling "skiplist test" and then "skiplist debug", there was a crash due to a freed pointer. Agreed to remove static pointer (see PR #7474). Signed-off-by: Emanuele Bovisio --- lib/skiplist.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/skiplist.c b/lib/skiplist.c index 2bef18f525..b79dfa6772 100644 --- a/lib/skiplist.c +++ b/lib/skiplist.c @@ -74,7 +74,6 @@ DEFINE_MTYPE_STATIC(LIB, SKIP_LIST_NODE, "Skip Node") static int randomsLeft; static int randomBits; -static struct skiplist *skiplist_last_created; /* debugging hack */ #if 1 #define CHECKLAST(sl) \ @@ -150,8 +149,6 @@ struct skiplist *skiplist_new(int flags, if (del) new->del = del; - skiplist_last_created = new; /* debug */ - return new; } @@ -586,7 +583,8 @@ void skiplist_debug(struct vty *vty, struct skiplist *l) int i; if (!l) - l = skiplist_last_created; + return; + vty_out(vty, "Skiplist %p has max level %d\n", l, l->level); for (i = l->level; i >= 0; --i) vty_out(vty, " @%d: %ld\n", i, -- 2.39.5