[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;