diff options
Diffstat (limited to 'proto/ospf')
-rw-r--r-- | proto/ospf/topology.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/proto/ospf/topology.c b/proto/ospf/topology.c index c368d91..027ef8f 100644 --- a/proto/ospf/topology.c +++ b/proto/ospf/topology.c @@ -94,7 +94,10 @@ originate_rt_lsa_body(struct ospf_area *oa, u16 * length) ln->data = 0xffffffff; } else + { + ln--; i--; /* No link added */ + } } break; case OSPF_IT_BCAST: @@ -146,10 +149,19 @@ originate_rt_lsa_body(struct ospf_area *oa, u16 * length) rt->veb.bit.v = 1; } else + { + ln--; i--; /* No link added */ + } + break; + default: + ln--; + i--; /* No link added */ + log("Unknown interface type"); break; } } + ln++; } rt->links = i; *length = i * sizeof(struct ospf_lsa_rt_link) + sizeof(struct ospf_lsa_rt) + |