diff options
author | Paul Jakma <paul.jakma@sun.com> | 2006-09-11 02:14:16 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2006-09-11 02:14:16 +0000 |
commit | b25ea4d085c858137ec28b1be9d6ab6c30a97303 (patch) | |
tree | 476bf1799357a70ea42cdfccee9340e8b32172d6 | |
parent | 3e557ae1ea7693d91b6df42c2529952d6a349911 (diff) |
[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.
-rw-r--r-- | ripd/ChangeLog | 3 | ||||
-rw-r--r-- | ripd/rip_routemap.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/ripd/ChangeLog b/ripd/ChangeLog index afae7e98..68813f14 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 9d6fd16e..cb87ea55 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; |