mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 22:57:45 +00:00
ospfd: Fixes a crash of the daemon with a snmp walk
- And allows to walk the LSDB. Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
This commit is contained in:
parent
3cadc0cdeb
commit
7939e016b3
@ -934,7 +934,7 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t *length,
|
|||||||
struct ospf *ospf;
|
struct ospf *ospf;
|
||||||
struct ospf_area *area;
|
struct ospf_area *area;
|
||||||
struct ospf_lsa *lsa;
|
struct ospf_lsa *lsa;
|
||||||
unsigned int len;
|
int len;
|
||||||
int type_next;
|
int type_next;
|
||||||
int ls_id_next;
|
int ls_id_next;
|
||||||
int router_id_next;
|
int router_id_next;
|
||||||
@ -992,7 +992,7 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t *length,
|
|||||||
if (len == IN_ADDR_SIZE)
|
if (len == IN_ADDR_SIZE)
|
||||||
area = ospf_area_lookup_by_area_id (ospf, *area_id);
|
area = ospf_area_lookup_by_area_id (ospf, *area_id);
|
||||||
else
|
else
|
||||||
area = ospf_area_lookup_next (ospf, area_id, len == 0 ? 1 : 0);
|
area = ospf_area_lookup_next (ospf, area_id, 1);
|
||||||
|
|
||||||
if (area == NULL)
|
if (area == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -1000,8 +1000,8 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t *length,
|
|||||||
do
|
do
|
||||||
{
|
{
|
||||||
/* Next we lookup type. */
|
/* Next we lookup type. */
|
||||||
offset += IN_ADDR_SIZE;
|
offset += len;
|
||||||
offsetlen -= IN_ADDR_SIZE;
|
offsetlen -= len;
|
||||||
len = offsetlen;
|
len = offsetlen;
|
||||||
|
|
||||||
if (len <= 0)
|
if (len <= 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user