mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
One null-pointer dereference bugfix hidden in whitespace changes
This commit is contained in:
parent
0dd7ccc766
commit
3b108f18e8
@ -126,7 +126,7 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_
|
|||||||
break;
|
break;
|
||||||
case OSPF_AUTH_SIMPLE:
|
case OSPF_AUTH_SIMPLE:
|
||||||
pass = password_find(ifa->passwords, 1);
|
pass = password_find(ifa->passwords, 1);
|
||||||
if(!pass)
|
if (!pass)
|
||||||
{
|
{
|
||||||
OSPF_TRACE(D_PACKETS, "OSPF_auth: no password found");
|
OSPF_TRACE(D_PACKETS, "OSPF_auth: no password found");
|
||||||
return 0;
|
return 0;
|
||||||
@ -149,6 +149,7 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_
|
|||||||
OSPF_TRACE(D_PACKETS, "OSPF_auth: wrong size of md5 digest");
|
OSPF_TRACE(D_PACKETS, "OSPF_auth: wrong size of md5 digest");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ntohs(pkt->length) + OSPF_AUTH_CRYPT_SIZE != size)
|
if (ntohs(pkt->length) + OSPF_AUTH_CRYPT_SIZE != size)
|
||||||
{
|
{
|
||||||
OSPF_TRACE(D_PACKETS, "OSPF_auth: size mismatch (%d vs %d)",
|
OSPF_TRACE(D_PACKETS, "OSPF_auth: size mismatch (%d vs %d)",
|
||||||
@ -164,21 +165,24 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_
|
|||||||
|
|
||||||
tail = ((void *)pkt) + ntohs(pkt->length);
|
tail = ((void *)pkt) + ntohs(pkt->length);
|
||||||
|
|
||||||
WALK_LIST(ptmp, *(ifa->passwords))
|
if (ifa->passwords)
|
||||||
{
|
{
|
||||||
if (pkt->u.md5.keyid != ptmp->id) continue;
|
WALK_LIST(ptmp, *(ifa->passwords))
|
||||||
if ((ptmp->accfrom > now_real) || (ptmp->accto < now_real)) continue;
|
{
|
||||||
pass = ptmp;
|
if (pkt->u.md5.keyid != ptmp->id) continue;
|
||||||
break;
|
if ((ptmp->accfrom > now_real) || (ptmp->accto < now_real)) continue;
|
||||||
|
pass = ptmp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!pass)
|
if (!pass)
|
||||||
{
|
{
|
||||||
OSPF_TRACE(D_PACKETS, "OSPF_auth: no suitable md5 password found");
|
OSPF_TRACE(D_PACKETS, "OSPF_auth: no suitable md5 password found");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(n)
|
if (n)
|
||||||
{
|
{
|
||||||
if(ntohs(pkt->u.md5.csn) < n->csn)
|
if(ntohs(pkt->u.md5.csn) < n->csn)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user