From 35801e6234fec8c62094e4c9cc8400b5942d013e Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 21 Apr 2023 07:38:11 -0400 Subject: [PATCH] pimd: Tell coverity what is really going on Fix a code path that coverity has decided a variable is NULL when it never can be. Signed-off-by: Donald Sharp --- pimd/pim6_mld.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pimd/pim6_mld.c b/pimd/pim6_mld.c index e74707b522..74cd729d44 100644 --- a/pimd/pim6_mld.c +++ b/pimd/pim6_mld.c @@ -2471,6 +2471,19 @@ static void gm_show_if_vrf(struct vty *vty, struct vrf *vrf, const char *ifname, if (js) { js_if = json_object_new_object(); + /* + * If we have js as true and detail as false + * and if Coverity thinks that js_if is NULL + * because of a failed call to new then + * when we call gm_show_if_one below + * the tt can be deref'ed and as such + * FRR will crash. But since we know + * that json_object_new_object never fails + * then let's tell Coverity that this assumption + * is true. I'm not worried about fast path + * here at all. + */ + assert(js_if); json_object_object_add(js_vrf, ifp->name, js_if); }