[PATCH] [IPROUTE]: Avoid overflow for larger rto_min in print_route
From: Satoru SATOH <hidden>
Date: 2007-12-12 16:01:35
Subsystem:
the rest · Maintainer:
Linus Torvalds
This includes a workaround for overflow while conversion of larger rto_min (e.g. 3s) unit. Signed-off-by: Satoru SATOH <redacted> ip/iproute.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ip/iproute.c b/ip/iproute.c
index f4200ae..fa722c6 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c@@ -510,16 +510,16 @@ int print_route(const struct sockaddr_nl *who,struct nlmsghdr *n, void *arg)
fprintf(fp, " %u",
*(unsigned*)RTA_DATA(mxrta[i]));
else {
unsigned val = *(unsigned*)RTA_DATA(mxrta[i]);
+ unsigned hz1 = hz / 1000;
- val *= 1000;
if (i == RTAX_RTT)
val /= 8;
else if (i == RTAX_RTTVAR)
val /= 4;
- if (val >= hz)
- fprintf(fp, " %ums", val/hz);
+ if (val >= hz1)
+ fprintf(fp, " %ums", val/hz1);
else
- fprintf(fp, " %.2fms", (float)val/hz);
+ fprintf(fp, " %.2fms", (float)val/hz1);
}
}
}