From 64cf310c8a970f1c7cd9058af828dd0e9a7e65a2 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Fri, 28 Feb 2020 10:50:24 -0800 Subject: [PATCH] Uavcan:Fix null pointer defrefenence --- src/drivers/uavcan/uavcan_main.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/drivers/uavcan/uavcan_main.cpp b/src/drivers/uavcan/uavcan_main.cpp index 73fe29e73a..5e1b093f92 100644 --- a/src/drivers/uavcan/uavcan_main.cpp +++ b/src/drivers/uavcan/uavcan_main.cpp @@ -936,12 +936,15 @@ UavcanNode::print_info() printf("CAN%u status:\n", unsigned(i + 1)); auto iface = _node.getDispatcher().getCanIOManager().getCanDriver().getIface(i); - printf("\tHW errors: %llu\n", iface->getErrorCount()); - auto iface_perf_cnt = _node.getDispatcher().getCanIOManager().getIfacePerfCounters(i); - printf("\tIO errors: %llu\n", iface_perf_cnt.errors); - printf("\tRX frames: %llu\n", iface_perf_cnt.frames_rx); - printf("\tTX frames: %llu\n", iface_perf_cnt.frames_tx); + if (iface) { + printf("\tHW errors: %llu\n", iface->getErrorCount()); + + auto iface_perf_cnt = _node.getDispatcher().getCanIOManager().getIfacePerfCounters(i); + printf("\tIO errors: %llu\n", iface_perf_cnt.errors); + printf("\tRX frames: %llu\n", iface_perf_cnt.frames_rx); + printf("\tTX frames: %llu\n", iface_perf_cnt.frames_tx); + } } printf("\n");