diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 3b59522c156e..5a4056b97a7b 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1340,6 +1340,11 @@ int netdev_cmd_ping(char* target_name, char *netdev_name, rt_uint32_t times, rt_ if (netdev == RT_NULL) { netdev = netdev_default; + if (netdev == RT_NULL) + { + rt_kprintf("ping: not found default netif, please specify netdev name.\n"); + return -RT_ERROR; + } rt_kprintf("ping: not found specified netif, using default netdev %s.\n", netdev->name); } @@ -1412,6 +1417,12 @@ int netdev_cmd_ping(char* target_name, char *netdev_name, rt_uint32_t times, rt_ rt_thread_delay(delay_tick); } + if (times == 0) + { + rt_kprintf("ping: send times is zero, no ping statistics.\n"); + return -RT_ERROR; + } + /* print ping statistics */ loss = (uint32_t)((1 - ((float)received) / index) * 100); avg_time = (uint32_t)(avg_time / received);