[ripd] bug #293: routemap set metric doesn't check for underflow correctly
2006-09-11 Paul Jakma <paul.jakma@sun.com>
* rip_routemap.c: (route_set_metric) underflow check needs to
use signed, problem identified and diagnosed by Pavel
Nikiforov in bug #293.
diff --git a/ripd/ChangeLog b/ripd/ChangeLog
index afae7e9..68813f1 100644
--- a/ripd/ChangeLog
+++ b/ripd/ChangeLog
@@ -2,6 +2,9 @@
* ripd.c: (rip_read) remove gratuitous use of mid-function
declaration of vrecv, bug #278.
+ * rip_routemap.c: (route_set_metric) underflow check needs to
+ use signed, problem identified and diagnosed by Pavel
+ Nikiforov in bug #293.
2006-06-29 Paul Jakma <paul.jakma@sun.com>
diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c
index 9d6fd16..cb87ea5 100644
--- a/ripd/rip_routemap.c
+++ b/ripd/rip_routemap.c
@@ -530,7 +530,7 @@
else if (mod->type == metric_absolute)
rinfo->metric_out = mod->metric;
- if (rinfo->metric_out < 1)
+ if ((signed int)rinfo->metric_out < 1)
rinfo->metric_out = 1;
if (rinfo->metric_out > RIP_METRIC_INFINITY)
rinfo->metric_out = RIP_METRIC_INFINITY;