--- nicstat.c 2016-12-06 05:43:16.000000000 -0700 +++ nicstat.c 2016-12-06 05:53:16.035042326 -0700 @@ -1637,8 +1637,11 @@ */ if (lseek(net_dev, 0, SEEK_SET) != 0) die(1, "lseek: %s", PROC_NET_DEV_PATH); - bufsiz = read(net_dev, (void *) proc_net_buffer, - sizeof (proc_net_buffer)); + bufsiz = 0; + while ((n = read(net_dev, (void *) proc_net_buffer + bufsiz, + sizeof (proc_net_buffer) - bufsiz)) > 0) { + bufsiz += n; + } if (bufsiz < 0) die(1, "read: %s", PROC_NET_DEV_PATH); else if (bufsiz < 200)