summaryrefslogtreecommitdiffstats
path: root/freebsd/sbin/ping
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:04:31 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:18:53 +0100
commite48f5465746724d87bce3b33db10dfb0de7fe3d8 (patch)
tree9105f7a7f08e4ea823d6cbec4600cbc09718187f /freebsd/sbin/ping
parentPING(8): Delete unused variable (diff)
downloadrtems-libbsd-e48f5465746724d87bce3b33db10dfb0de7fe3d8.tar.bz2
PING(8): Fix initialization and cleanup
Diffstat (limited to 'freebsd/sbin/ping')
-rw-r--r--freebsd/sbin/ping/ping.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/freebsd/sbin/ping/ping.c b/freebsd/sbin/ping/ping.c
index 0b7b5274..e0ad0836 100644
--- a/freebsd/sbin/ping/ping.c
+++ b/freebsd/sbin/ping/ping.c
@@ -229,23 +229,39 @@ int rtems_bsd_command_ping(int argc, char *argv[])
rtems_bsd_program_lock();
+ memset(&rcvd_tbl[0], 0, sizeof(rcvd_tbl));
+ s = -1;
+ memset(&outpackhdr[0], 0, sizeof(outpackhdr));
icmp_type = ICMP_ECHO;
icmp_type_rsp = ICMP_ECHOREPLY;
phdr_len = 0;
+ nmissedmax = 0;
+ npackets = 0;
+ nreceived = 0;
+ nrepeats = 0;
+ ntransmitted = 0;
+ snpackets = 0;
+ sntransmitted = 0;
+ sweepmax = 0;
sweepmin = 0;
sweepincr = 1;
interval = 1000;
waittime = MAXWAIT;
nrcvtimeout = 0;
+ timing = 0;
tmin = 999999999.0;
tmax = 0.0;
tsum = 0.0;
tsumsq = 0.0;
+ finish_up = 0;
+ siginfo_p = 0;
exit_code = rtems_bsd_program_call_main("ping", main, argc, argv);
rtems_bsd_program_unlock();
+ close(s);
+
return exit_code;
}
#endif /* __rtems__ */