summaryrefslogtreecommitdiff
path: root/eigrpd/eigrp_topology.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-08-24 19:15:20 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-08-24 20:34:20 -0400
commitdbfd865b05d6c4e9395a39bb24f5eaf0b850451c (patch)
tree91addae6b8793292c899a3c64a56511507a152d1 /eigrpd/eigrp_topology.c
parent32e5503d8f987bbc1e8193ce94139d72e7ea7582 (diff)
eigrpd: Cleanup various SA Issues
1) Handle key value not found on interface 2) Handle various NULL pointer possibilities 3) Fix possible integer overflow 4) Fix memory leak 5) Check return codes on sscanf Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'eigrpd/eigrp_topology.c')
-rw-r--r--eigrpd/eigrp_topology.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/eigrpd/eigrp_topology.c b/eigrpd/eigrp_topology.c
index 64e65b694c..8390bfc66e 100644
--- a/eigrpd/eigrp_topology.c
+++ b/eigrpd/eigrp_topology.c
@@ -444,7 +444,7 @@ void eigrp_topology_update_node_flags(struct eigrp_prefix_entry *dest)
for (ALL_LIST_ELEMENTS_RO(dest->entries, node, entry)) {
if (((uint64_t)entry->distance
- <= (uint64_t)(dest->distance * eigrp->variance))
+ <= (uint64_t)dest->distance * (uint64_t)eigrp->variance)
&& entry->distance != EIGRP_MAX_METRIC) // is successor
{
entry->flags |= EIGRP_NEIGHBOR_ENTRY_SUCCESSOR_FLAG;