diff --git a/ripd/ChangeLog b/ripd/ChangeLog index afae7e9868..68813f14af 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 diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c index 9d6fd16e58..cb87ea555a 100644 --- a/ripd/rip_routemap.c +++ b/ripd/rip_routemap.c @@ -530,7 +530,7 @@ route_set_metric (void *rule, struct prefix *prefix, 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;