monitor: Fix runtime error
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 31 Aug 2023 20:43:15 +0000 (13:43 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Fri, 5 Jan 2024 13:34:03 +0000 (19:04 +0530)
This fixes the following runtime error:

monitor/packet.c:10476:2: runtime error: division by zero
Floating point exception

monitor/packet.c

index b38dc16..d0d566e 100755 (executable)
@@ -10479,11 +10479,14 @@ static void packet_dequeue_tx(struct timeval *tv, uint16_t handle)
 
        packet_latency_add(&conn->tx_l, &delta);
 
-       print_field("#%zu: len %zu (%lld Kb/s)", frame->num, frame->len,
-                                       frame->len * 8 / TV_MSEC(delta));
-       print_field("Latency: %lld msec (%lld-%lld msec ~%lld msec)",
-                       TV_MSEC(delta), TV_MSEC(conn->tx_l.min),
-                       TV_MSEC(conn->tx_l.max), TV_MSEC(conn->tx_l.med));
+       if (TV_MSEC(delta)) {
+               print_field("#%zu: len %zu (%lld Kb/s)", frame->num, frame->len,
+                               frame->len * 8 / TV_MSEC(delta));
+               print_field("Latency: %lld msec (%lld-%lld msec ~%lld msec)",
+                               TV_MSEC(delta), TV_MSEC(conn->tx_l.min),
+                               TV_MSEC(conn->tx_l.max),
+                               TV_MSEC(conn->tx_l.med));
+       }
 
        l2cap_dequeue_frame(&delta, conn);