0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 01:31:55 +00:00

One null-pointer dereference bugfix hidden in whitespace changes

This commit is contained in:
Ondrej Zajicek 2009-01-16 10:58:52 +01:00
parent 0dd7ccc766
commit 3b108f18e8

View File

@ -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)
{ {