Null checking the `sra` pointer after dereferencing it causes a
coverity issue. Let's perform the null check before dereferencing the
pointer.
Fixes this coverity issue:
*** CID
1568132: Null pointer dereferences (REVERSE_INULL)
/isisd/isis_zebra.c: 1023 in isis_zebra_srv6_adj_sid_install()
1017 struct seg6local_context ctx = {};
1018 uint16_t prefixlen = IPV6_MAX_BITLEN;
1019 struct interface *ifp;
1020 struct isis_circuit *circuit = sra->adj->circuit;
1021 struct isis_area *area = circuit->area;
1022
>>> CID
1568132: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "sra" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1023 if (!sra)
1024 return;
1025
1026 sr_debug("ISIS-SRv6 (%s): setting adjacency SID %pI6", area->area_tag,
1027 &sra->sid);
1028
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
struct seg6local_context ctx = {};
uint16_t prefixlen = IPV6_MAX_BITLEN;
struct interface *ifp;
- struct isis_circuit *circuit = sra->adj->circuit;
- struct isis_area *area = circuit->area;
+ struct isis_circuit *circuit;
+ struct isis_area *area;
if (!sra)
return;
+ circuit = sra->adj->circuit;
+ area = circuit->area;
+
sr_debug("ISIS-SRv6 (%s): setting adjacency SID %pI6", area->area_tag,
&sra->sid);