svn commit: r279473 - stable/10/usr.bin/systat
Ryan Stone
rstone at FreeBSD.org
Sun Mar 1 04:36:21 UTC 2015
Author: rstone
Date: Sun Mar 1 04:36:20 2015
New Revision: 279473
URL: https://svnweb.freebsd.org/changeset/base/279473
Log:
MFC r272284
Fix integer truncation in affecting systat -ifstat
The "systat -ifstat" command was using a u_int to store byte counters.
With a 10Gbps or faster interface, this overflows within the default
5 second refresh period. Switch to using a uint64_t across the board,
which matches the size used for all counters as of r263102.
PR: 182448
MFC after: 1 week
Sponsored by: Sandvine Inc
Modified:
stable/10/usr.bin/systat/ifstat.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/usr.bin/systat/ifstat.c
==============================================================================
--- stable/10/usr.bin/systat/ifstat.c Sun Mar 1 04:28:30 2015 (r279472)
+++ stable/10/usr.bin/systat/ifstat.c Sun Mar 1 04:36:20 2015 (r279473)
@@ -68,14 +68,14 @@ struct if_stat {
struct ifmibdata if_mib;
struct timeval tv;
struct timeval tv_lastchanged;
- u_long if_in_curtraffic;
- u_long if_out_curtraffic;
- u_long if_in_traffic_peak;
- u_long if_out_traffic_peak;
- u_long if_in_curpps;
- u_long if_out_curpps;
- u_long if_in_pps_peak;
- u_long if_out_pps_peak;
+ uint64_t if_in_curtraffic;
+ uint64_t if_out_curtraffic;
+ uint64_t if_in_traffic_peak;
+ uint64_t if_out_traffic_peak;
+ uint64_t if_in_curpps;
+ uint64_t if_out_curpps;
+ uint64_t if_in_pps_peak;
+ uint64_t if_out_pps_peak;
u_int if_row; /* Index into ifmib sysctl */
u_int if_ypos; /* 0 if not being displayed */
u_int display;
@@ -263,8 +263,8 @@ fetchifstat(void)
struct if_stat *ifp = NULL;
struct timeval tv, new_tv, old_tv;
double elapsed = 0.0;
- u_int new_inb, new_outb, old_inb, old_outb = 0;
- u_int new_inp, new_outp, old_inp, old_outp = 0;
+ uint64_t new_inb, new_outb, old_inb, old_outb = 0;
+ uint64_t new_inp, new_outp, old_inp, old_outp = 0;
SLIST_FOREACH(ifp, &curlist, link) {
/*
More information about the svn-src-stable-10
mailing list