From bb5d09c90c277ed12aa41c84f8f9026b47694c60 Mon Sep 17 00:00:00 2001 From: Renato Westphal Date: Fri, 4 Jan 2019 11:55:15 -0200 Subject: [PATCH] ripd, ripngd: fix null pointer dereference in YANG RPCs These RPCs should do nothing when RIP/RIPng aren't configured. Signed-off-by: Renato Westphal --- ripd/rip_northbound.c | 3 +++ ripngd/ripng_northbound.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ripd/rip_northbound.c b/ripd/rip_northbound.c index 4e445bd46df4..49bf90198a21 100644 --- a/ripd/rip_northbound.c +++ b/ripd/rip_northbound.c @@ -1228,6 +1228,9 @@ static int clear_rip_route_rpc(const char *xpath, const struct list *input, struct list *list; struct listnode *listnode; + if (!rip) + return NB_OK; + /* Clear received RIP routes */ for (rp = route_top(rip->table); rp; rp = route_next(rp)) { list = rp->info; diff --git a/ripngd/ripng_northbound.c b/ripngd/ripng_northbound.c index 7993714e8d35..69e207f443c3 100644 --- a/ripngd/ripng_northbound.c +++ b/ripngd/ripng_northbound.c @@ -785,6 +785,9 @@ static int clear_ripng_route_rpc(const char *xpath, const struct list *input, struct list *list; struct listnode *listnode; + if (!ripng) + return NB_OK; + /* Clear received RIPng routes */ for (rp = agg_route_top(ripng->table); rp; rp = agg_route_next(rp)) { list = rp->info;