From a713358d3c8ade0ec80969fdd6186acc89629904 Mon Sep 17 00:00:00 2001 From: Terence Zhang Date: Thu, 6 Dec 2018 19:51:11 +0800 Subject: [PATCH 1/3] Fix the fault exception issue in socket_recvfrom with the null pointer parameter as SocketAddress *addr. --- .../cellular/framework/AT/AT_CellularStack.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/features/cellular/framework/AT/AT_CellularStack.cpp b/features/cellular/framework/AT/AT_CellularStack.cpp index 5008884f61..eb27e44f68 100644 --- a/features/cellular/framework/AT/AT_CellularStack.cpp +++ b/features/cellular/framework/AT/AT_CellularStack.cpp @@ -307,7 +307,12 @@ nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, S _at.unlock(); if (ret_val != NSAPI_ERROR_OK) { - tr_error("Socket %d create %s error %d", find_socket_index(socket), addr->get_ip_address(), ret_val); + if(addr){ + tr_error("Socket %d create %s error %d", find_socket_index(socket), addr->get_ip_address(), ret_val); + } + else{ + tr_error("Socket %d create error %d", find_socket_index(socket), ret_val); + } return ret_val; } } @@ -319,7 +324,12 @@ nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, S _at.unlock(); if (ret_val >= 0) { - tr_info("Socket %d recv %d bytes from %s port %d", find_socket_index(socket), ret_val, addr->get_ip_address(), addr->get_port()); + if(addr){ + tr_info("Socket %d recv %d bytes from %s port %d", find_socket_index(socket), ret_val, addr->get_ip_address(), addr->get_port()); + } + else{ + tr_info("Socket %d recv %d bytes", find_socket_index(socket), ret_val); + } } else if (ret_val != NSAPI_ERROR_WOULD_BLOCK) { tr_error("Socket %d recv error %d", find_socket_index(socket), ret_val); } From d3d1e0d30b4d3f4d9fef575f55aa17f9ea31f1ab Mon Sep 17 00:00:00 2001 From: Terence Zhang Date: Mon, 10 Dec 2018 10:38:27 +0800 Subject: [PATCH 2/3] Fix for the fault exception issue: https://github.com/ARMmbed/mbed-os-example-cellular/issues/112 --- features/cellular/framework/AT/AT_CellularStack.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/features/cellular/framework/AT/AT_CellularStack.cpp b/features/cellular/framework/AT/AT_CellularStack.cpp index eb27e44f68..055c040ce5 100644 --- a/features/cellular/framework/AT/AT_CellularStack.cpp +++ b/features/cellular/framework/AT/AT_CellularStack.cpp @@ -307,12 +307,7 @@ nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, S _at.unlock(); if (ret_val != NSAPI_ERROR_OK) { - if(addr){ - tr_error("Socket %d create %s error %d", find_socket_index(socket), addr->get_ip_address(), ret_val); - } - else{ - tr_error("Socket %d create error %d", find_socket_index(socket), ret_val); - } + tr_error("Socket %d create error %d", find_socket_index(socket), ret_val); return ret_val; } } From cc63a31eb356ae68fa2ba4fc20fd6d5de87bb1cc Mon Sep 17 00:00:00 2001 From: Terence Zhang Date: Tue, 11 Dec 2018 16:50:14 +0800 Subject: [PATCH 3/3] Formatted via astyle. --- features/cellular/framework/AT/AT_CellularStack.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/features/cellular/framework/AT/AT_CellularStack.cpp b/features/cellular/framework/AT/AT_CellularStack.cpp index 055c040ce5..a43e2ebd89 100644 --- a/features/cellular/framework/AT/AT_CellularStack.cpp +++ b/features/cellular/framework/AT/AT_CellularStack.cpp @@ -319,10 +319,9 @@ nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, S _at.unlock(); if (ret_val >= 0) { - if(addr){ + if (addr) { tr_info("Socket %d recv %d bytes from %s port %d", find_socket_index(socket), ret_val, addr->get_ip_address(), addr->get_port()); - } - else{ + } else { tr_info("Socket %d recv %d bytes", find_socket_index(socket), ret_val); } } else if (ret_val != NSAPI_ERROR_WOULD_BLOCK) {