]> git.puffer.fish Git - mirror/frr.git/commit
ospf6d: remove redundant null ptr check 17364/head
authorAndrew Cooks <acooks.at.bda@gmail.com>
Wed, 6 Nov 2024 01:06:31 +0000 (11:06 +1000)
committerAndrew Cooks <acooks.at.bda@gmail.com>
Wed, 6 Nov 2024 01:06:31 +0000 (11:06 +1000)
commit8c5a0bb456b5b29351f9da808cc2f945a96f0820
treea9e10487dc080ed6a6d593c891a73f32dcffe4c5
parent905fc5c61126f0a16efc679ad9b56ff33123f466
ospf6d: remove redundant null ptr check

Fix defect flagged by Coverity:

*** CID 1599957:  Null pointer dereferences  (REVERSE_INULL)
/ospf6d/ospf6_intra.c: 581 in ospf6_link_lsa_get_prefix_str()
575                                                int buflen, int pos)
576     {
577             struct ospf6_link_lsa *link_lsa = lsa_after_header(lsa->header);
578             struct ospf6_prefix *prefix = nth_prefix(lsa->header, pos);
579             struct in6_addr in6 = { 0 };
580
>>>     CID 1599957:  Null pointer dereferences  (REVERSE_INULL)
>>>     Null-checking "lsa" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
581             if (!lsa || !prefix || !buf || buflen < (1 + INET6_ADDRSTRLEN))
582                     return NULL;
583
584             /* position zero is used for the lladdr in the body of the LSA */
585             if (pos == 0) {
586                     inet_ntop(AF_INET6, &link_lsa->linklocal_addr, buf, buflen);

The check for lsa being not-null happens in ospf6_lsdb_show() and
first dereference happens in ospf6_lsa_show_summary()

Signed-off-by: Andrew Cooks <acooks.at.bda@gmail.com>
ospf6d/ospf6_intra.c