]> git.puffer.fish Git - matthieu/frr.git/commit
ospf6d: remove redundant null ptr check
authorAndrew Cooks <acooks.at.bda@gmail.com>
Wed, 6 Nov 2024 00:50:53 +0000 (10:50 +1000)
committerAndrew Cooks <acooks.at.bda@gmail.com>
Wed, 6 Nov 2024 01:00:13 +0000 (11:00 +1000)
commit24d8d95dd199bf8f8df0bed9c2ebb46de7f7cf03
tree83c60c109f3cf2b12b0b99178eec24085c0339d3
parent905fc5c61126f0a16efc679ad9b56ff33123f466
ospf6d: remove redundant null ptr check

Fix defect flagged by Coverity:

*** CID 1599962:  Null pointer dereferences  (REVERSE_INULL)
/ospf6d/ospf6_intra.c: 775 in ospf6_intra_prefix_lsa_get_prefix_str()
769     {
770             struct ospf6_prefix *prefix = nth_prefix(lsa->header, pos);
771             struct in6_addr in6 = { 0 };
772             char tbuf[16];
773
774             /* ensure buflen >= INET6_ADDRSTRLEN + '/128\0' */
>>>     CID 1599962:  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.
775             if (!lsa || !prefix || !buf || buflen < (5 + INET6_ADDRSTRLEN))
776                     return NULL;
777
778             memcpy(&in6, OSPF6_PREFIX_BODY(prefix),
779                    OSPF6_PREFIX_SPACE(prefix->prefix_length));
780             inet_ntop(AF_INET6, &in6, 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