]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Tell coverity what is really going on 13345/head
authorDonald Sharp <sharpd@nvidia.com>
Fri, 21 Apr 2023 11:38:11 +0000 (07:38 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Fri, 21 Apr 2023 11:38:11 +0000 (07:38 -0400)
Fix a code path that coverity has decided a variable
is NULL when it never can be.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
pimd/pim6_mld.c

index e74707b522311b732282ec218fd7054a27c806be..74cd729d44f4a8de232408f9cf284d9359b5845c 100644 (file)
@@ -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);
                }