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);
|
result->extra / USEC_PER_MSEC);
|
||||||
if (result->nreplies > 0)
|
if (result->nreplies > 0)
|
||||||
{
|
{
|
||||||
long avg = priv->tsum / result->nreplies;
|
long avg = 0;
|
||||||
long long tempnum = priv->tsum2 / result->nreplies -
|
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;
|
(long long)avg * avg;
|
||||||
long tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||||
|
}
|
||||||
|
|
||||||
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
||||||
"%ld.%03ld/%ld.%03ld ms\n",
|
"%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);
|
result->extra / USEC_PER_MSEC);
|
||||||
if (result->nreplies > 0)
|
if (result->nreplies > 0)
|
||||||
{
|
{
|
||||||
long avg = priv->tsum / result->nreplies;
|
long avg = 0;
|
||||||
long long tempnum = priv->tsum2 / result->nreplies -
|
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;
|
(long long)avg * avg;
|
||||||
long tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
tmdev = ub16toi(ub32sqrtub16(uitoub32(tempnum)));
|
||||||
|
}
|
||||||
|
|
||||||
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
printf("rtt min/avg/max/mdev = %ld.%03ld/%ld.%03ld/"
|
||||||
"%ld.%03ld/%ld.%03ld ms\n",
|
"%ld.%03ld/%ld.%03ld ms\n",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user