From 63c92e872110e37a6319566446bf02984210c79c Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Thu, 21 Jul 2022 23:28:44 -0800 Subject: akcom-udpecho: resolving possible divide by zero --- src/akcom-udpecho.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/akcom-udpecho.c b/src/akcom-udpecho.c index e6a2299..705f9cf 100644 --- a/src/akcom-udpecho.c +++ b/src/akcom-udpecho.c @@ -572,25 +572,31 @@ my_loop( { printf("\n"); printf("--- %s udpecho statistics ---\n", cnf_host); - printf("%i packets transmitted, %i packets received, %i.%i%% packet loss\n", - stats_sent, - stats_rcvd, - ((stats_sent - stats_rcvd) * 100) / stats_sent, - (((stats_sent - stats_rcvd) * 1000) / stats_sent) % 10 - ); - printf("round-trip min/avg/max = %" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 " ms\n", - my_usec2msec(stats_min), my_usec2msec_tenths(stats_min), - my_usec2msec(stats_avg/stats_rcvd), my_usec2msec_tenths(stats_avg/stats_rcvd), - my_usec2msec(stats_max), my_usec2msec_tenths(stats_max) - ); - if ((cnf_echoplus)) + if ((stats_sent)) { - printf("adjusted round-trip min/avg/max = %" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 " ms\n", - my_usec2msec(stats_min_adj), my_usec2msec_tenths(stats_min_adj), - my_usec2msec(stats_avg_adj/stats_rcvd), my_usec2msec_tenths(stats_avg_adj/stats_rcvd), - my_usec2msec(stats_max_adj), my_usec2msec_tenths(stats_max_adj) + printf("%i packets transmitted, %i packets received, %i.%i%% packet loss\n", + stats_sent, + stats_rcvd, + ((stats_sent - stats_rcvd) * 100) / stats_sent, + (((stats_sent - stats_rcvd) * 1000) / stats_sent) % 10 ); }; + if ((stats_rcvd)) + { + printf("round-trip min/avg/max = %" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 " ms\n", + my_usec2msec(stats_min), my_usec2msec_tenths(stats_min), + my_usec2msec(stats_avg/stats_rcvd), my_usec2msec_tenths(stats_avg/stats_rcvd), + my_usec2msec(stats_max), my_usec2msec_tenths(stats_max) + ); + if ((cnf_echoplus)) + { + printf("adjusted round-trip min/avg/max = %" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 "/%" PRIu64 ".%" PRIu64 " ms\n", + my_usec2msec(stats_min_adj), my_usec2msec_tenths(stats_min_adj), + my_usec2msec(stats_avg_adj/stats_rcvd), my_usec2msec_tenths(stats_avg_adj/stats_rcvd), + my_usec2msec(stats_max_adj), my_usec2msec_tenths(stats_max_adj) + ); + }; + }; }; return(0); -- cgit v1.2.3