]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: `ctx` has to be non NULL at this point 15087/head
authorCarmine Scarpitta <cscarpit@cisco.com>
Thu, 4 Jan 2024 10:10:20 +0000 (11:10 +0100)
committerCarmine Scarpitta <cscarpit@cisco.com>
Thu, 4 Jan 2024 10:13:31 +0000 (11:13 +0100)
Fix the following coverity issue:

*** CID 1575079:  Null pointer dereferences  (REVERSE_INULL)
/zebra/zebra_dplane.c: 5950 in dplane_srv6_encap_srcaddr_set()
5944      if (ret == AOK)
5945      result = ZEBRA_DPLANE_REQUEST_QUEUED;
5946      else {
5947      atomic_fetch_add_explicit(&zdplane_info
5948         .dg_srv6_encap_srcaddr_set_errors,
5949        1, memory_order_relaxed);
     CID 1575079:  Null pointer dereferences  (REVERSE_INULL)
     Null-checking "ctx" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
5950      if (ctx)
5951      dplane_ctx_free(&ctx);
5952      }
5953      return result;
5954     }
5955

Remove the pointer check for `ctx`. At this point in the
function it has to be non null since we deref'ed it.
Additionally the alloc function that creates it cannot
fail.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
zebra/zebra_dplane.c

index 7db52b192326bfa153ebbff64484448e113a7dcf..99693a5874039e4a0643f8aa37b9e687a56af17e 100644 (file)
@@ -5947,8 +5947,7 @@ dplane_srv6_encap_srcaddr_set(const struct in6_addr *addr, ns_id_t ns_id)
                atomic_fetch_add_explicit(&zdplane_info
                                                   .dg_srv6_encap_srcaddr_set_errors,
                                          1, memory_order_relaxed);
-               if (ctx)
-                       dplane_ctx_free(&ctx);
+               dplane_ctx_free(&ctx);
        }
        return result;
 }