Skip to content

Commit

Permalink
ospf6d: remove redundant null ptr check
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
acooks committed Nov 6, 2024
1 parent 905fc5c commit 24d8d95
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ospf6d/ospf6_intra.c
Original file line number Diff line number Diff line change
Expand Up @@ -772,7 +772,7 @@ static char *ospf6_intra_prefix_lsa_get_prefix_str(struct ospf6_lsa *lsa,
char tbuf[16];

/* ensure buflen >= INET6_ADDRSTRLEN + '/128\0' */
if (!lsa || !prefix || !buf || buflen < (5 + INET6_ADDRSTRLEN))
if (!prefix || !buf || buflen < (5 + INET6_ADDRSTRLEN))
return NULL;

memcpy(&in6, OSPF6_PREFIX_BODY(prefix),
Expand Down

0 comments on commit 24d8d95

Please sign in to comment.