system/ping: Guard against division by zero when calculating the RTT.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
This commit is contained in:
parent
1acca2946e
commit
473611d51d
@ -242,10 +242,17 @@ static void ping_result(FAR const struct ping_result_s *result)
|
||||
result->extra / USEC_PER_MSEC);
|
||||
if (result->nreplies > 0)
|
||||
{
|
||||
long avg = priv->tsum / result->nreplies;
|
||||
long long tempnum = priv->tsum2 / result->nreplies -
|
||||
(long long)avg * avg;
|
||||
long tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||
long avg = 0;
|
||||
long long tempnum = 0;
|
||||
long tmdev = 0;
|
||||
|
||||
if (priv->tsum > 0)
|
||||
{
|
||||
avg = priv->tsum / result->nreplies;
|
||||
tempnum = priv->tsum2 / result->nreplies -
|
||||
(long long)avg * avg;
|
||||
tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||
}
|
||||
|
||||
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
||||
"%ld.%03ld/%ld.%03ld ms\n",
|
||||
|
@ -239,10 +239,17 @@ static void ping6_result(FAR const struct ping6_result_s *result)
|
||||
result->extra / USEC_PER_MSEC);
|
||||
if (result->nreplies > 0)
|
||||
{
|
||||
long avg = priv->tsum / result->nreplies;
|
||||
long long tempnum = priv->tsum2 / result->nreplies -
|
||||
(long long)avg * avg;
|
||||
long tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||
long avg = 0;
|
||||
long long tempnum = 0;
|
||||
long tmdev = 0;
|
||||
|
||||
if (priv->tsum > 0)
|
||||
{
|
||||
avg = priv->tsum / result->nreplies;
|
||||
tempnum = priv->tsum2 / result->nreplies -
|
||||
(long long)avg * avg;
|
||||
tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||
}
|
||||
|
||||
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
||||
"%ld.%03ld/%ld.%03ld ms\n",
|
||||
|
Loading…
x
Reference in New Issue
Block a user