Merge pull request #12215 from LabNConsulting/working/lb/ospf-allow-for-zero

ospfd: remove asster on zero length LSA - which is permitted by spec
This commit is contained in:
Jafar Al-Gharaibeh 2022-10-29 16:58:50 -05:00 committed by GitHub
commit 5ac678c599
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -3597,7 +3597,8 @@ int ospf_lsa_different(struct ospf_lsa *l1, struct ospf_lsa *l2,
&& CHECK_FLAG((l1->flags ^ l2->flags), OSPF_LSA_RECEIVED))
return 1; /* May be a stale LSA in the LSBD */
assert(l1->size > OSPF_LSA_HEADER_SIZE);
if (l1->size == OSPF_LSA_HEADER_SIZE)
return 0; /* nothing to compare */
p1 = (char *)l1->data;
p2 = (char *)l2->data;

View File

@ -1716,6 +1716,12 @@ static struct list *ospf_ls_upd_list_lsa(struct ospf_neighbor *nbr,
break;
}
if (length < OSPF_LSA_HEADER_SIZE) {
flog_warn(EC_OSPF_PACKET,
"Link State Update: LSA length too small.");
break;
}
/* Validate the LSA's LS checksum. */
sum = lsah->checksum;
if (!ospf_lsa_checksum_valid(lsah)) {