Module Name: src
Committed By: ahoka
Date: Mon Sep 20 11:49:48 UTC 2010
Modified Files:
src/sbin/ping6: ping6.c
Log Message:
Avoid NaN when calculating std-dev, which fixes a crash on VAX.
To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 src/sbin/ping6/ping6.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sbin/ping6/ping6.c
diff -u src/sbin/ping6/ping6.c:1.72 src/sbin/ping6/ping6.c:1.73
--- src/sbin/ping6/ping6.c:1.72 Sat Apr 11 07:45:48 2009
+++ src/sbin/ping6/ping6.c Mon Sep 20 11:49:48 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ping6.c,v 1.72 2009/04/11 07:45:48 lukem Exp $ */
+/* $NetBSD: ping6.c,v 1.73 2010/09/20 11:49:48 ahoka Exp $ */
/* $KAME: ping6.c,v 1.164 2002/11/16 14:05:37 itojun Exp $ */
/*
@@ -77,7 +77,7 @@
#else
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: ping6.c,v 1.72 2009/04/11 07:45:48 lukem Exp $");
+__RCSID("$NetBSD: ping6.c,v 1.73 2010/09/20 11:49:48 ahoka Exp $");
#endif
#endif
@@ -2109,8 +2109,14 @@
if (nreceived && timing) {
/* Only display average to microseconds */
double num = nreceived + nrepeats;
- double avg = tsum / num;
- double dev = sqrt((tsumsq - num * avg * avg) / (num - 1));
+ double dev, avg;
+ if (num > 1) {
+ avg = tsum / num;
+ dev = sqrt((tsumsq - num * avg * avg) / (num - 1));
+ } else {
+ avg = tsum;
+ dev = 0.0;
+ }
(void)printf(
"round-trip min/avg/max/std-dev = %.3f/%.3f/%.3f/%.3f ms\n",
tmin, avg, tmax, dev);