Fix for UTC test issue
authorJiwan Kim <ji-wan.kim@samsung.com>
Tue, 2 May 2017 01:37:27 +0000 (10:37 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:07:21 +0000 (18:07 +0900)
- Fix typo on API name (zb_get_mac_capabiity -> zb_get_mac_capability)
- Add NULL check for some parameters
  (handle, ieee_addr)
- Free device list when test app is terminated.
- Store coordinator mac address on startup of test app.

Change-Id: I3d22cdab54ba5f142ca6352e0a8b72edfca07647
Signed-off-by: Jiwan Kim <ji-wan.kim@samsung.com>
include/zigbee.h
lib/zbl.c
lib/zbl_zdo.c
lib/zbl_zdo_bind_mgr.c
test/main.c

index 22983f7784dc19a3a414af8854f50822468729f5..315d0a47b68fcc9a2d8ebd87675157d825a38018 100644 (file)
@@ -564,7 +564,7 @@ int zb_get_ep_list(zb_end_device_info_h handle, unsigned char *ep_list);
  * @see zb_devices_info_foreach_end_device()
  * @see zb_get_all_device_list()
  */
-int zb_get_mac_capabiity(zb_end_device_info_h handle, unsigned char *capability);
+int zb_get_mac_capability(zb_end_device_info_h handle, unsigned char *capability);
 
 /**
  * @brief Gets ability of alternative PAN coordinator of a specific end-point
index 6de28ddc77b5e41b46bd3e5a0b81efafc409ae4e..1a12989552bea958be4d10ea4e52dc2b300490ef 100644 (file)
--- a/lib/zbl.c
+++ b/lib/zbl.c
@@ -149,6 +149,7 @@ API int zb_leave_device(zigbee_h handle, ieee_addr addr, bool remove_children, b
        int ret = ZIGBEE_ERROR_NONE;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == addr, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        ret = zbl_leave_device(addr, remove_children, rejoin);
        DBG("zbl_leave_device()=0x%X", ret);
@@ -171,6 +172,7 @@ API int zb_get_controller_mac_address(zigbee_h handle, ieee_addr addr64)
        int ret = ZIGBEE_ERROR_NONE;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        ret = zbl_get_controller_mac_address(addr64);
        DBG("zbl_get_controller_mac_address()=0x%X", ret);
@@ -183,6 +185,7 @@ API int zb_get_network_info(zigbee_h handle, ieee_addr addr64, nwk_addr *nodeid,
        int ret = ZIGBEE_ERROR_NONE;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        ret = zbl_get_network_info(addr64, nodeid, panid, channel, tx_power);
        DBG("zbl_get_network_info()=0x%X", ret);
index e7ddef6df12db2b33190ee883632db91f2ea7d5e..63eeb9157585e522722f96b74b8b2bada3056384 100644 (file)
@@ -343,7 +343,10 @@ API int zb_get_all_device_list(zigbee_h handle, int *count, zb_end_device_info_h
        unsigned char cnt;
 
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
+       RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == list, ZIGBEE_ERROR_INVALID_PARAMETER);
+
        ret = zbl_get_all_device_info(list, &cnt);
        *count = cnt;
        return ret;
@@ -356,6 +359,7 @@ API int zb_get_endpoint_list(zigbee_h handle, ieee_addr addr64, unsigned char *c
        unsigned char cnt = 0;
 
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
+       RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == count, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == ep_list, ZIGBEE_ERROR_INVALID_PARAMETER);
@@ -374,6 +378,7 @@ API int zb_get_cluster_list(zigbee_h handle, ieee_addr addr64, unsigned char ep,
        unsigned char out_cnt = 0;
 
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
+       RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == in_cluster_count, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == in_cluster_list, ZIGBEE_ERROR_INVALID_PARAMETER);
@@ -458,7 +463,7 @@ API int zb_get_ep_list(zb_end_device_info_h handle, unsigned char *ep_list)
        return ZIGBEE_ERROR_NONE;
 }
 
-API int zb_get_mac_capabiity(zb_end_device_info_h handle, unsigned char *capability)
+API int zb_get_mac_capability(zb_end_device_info_h handle, unsigned char *capability)
 {
        struct zb_end_device_info_s *h = handle;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
@@ -1007,6 +1012,7 @@ API int zb_network_list_record_get_extended_pan_id(
        struct zb_zdo_network_list_record_s *h = handle;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == extended_pan_id, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        memcpy(extended_pan_id, h->extended_pan_id, sizeof(ieee_addr));
        return ZIGBEE_ERROR_NONE;
@@ -1272,6 +1278,7 @@ API int zb_binding_table_get_src_addr(zb_zdo_binding_table_h handle,
        struct zb_zdo_binding_table_s *h = handle;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == src_addr, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        memcpy(src_addr, h->src_addr64, sizeof(ieee_addr));
        return ZIGBEE_ERROR_NONE;
@@ -1355,6 +1362,7 @@ API int zb_discovery_cache_get_ieee_addr(zb_zdo_discovery_cache_h handle,
        struct zb_zdo_discovery_cache_s *h = handle;
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
 
        memcpy(addr64, h->addr64, sizeof(ieee_addr));
        return ZIGBEE_ERROR_NONE;
index dc2f314040423d38130612185c841ffe65219838..6112c8d3743e6e33bc86ffe19025c7dbcc17d7d6 100644 (file)
@@ -32,6 +32,8 @@ API int zb_zdo_bind_req(zigbee_h handle, nwk_addr dst_addr16,
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
+       RETV_IF(NULL == src_addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == dst_addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
        ret = zbl_bind_req(dst_addr16, src_addr64, src_ep, cluster_id, dst_addr64, type,
                group_addr, dst_ep, cb, user_data);
@@ -47,6 +49,8 @@ API int zb_zdo_unbind_req(zigbee_h handle, nwk_addr dst_addr16,
        CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
        RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
+       RETV_IF(NULL == src_addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == dst_addr64, ZIGBEE_ERROR_INVALID_PARAMETER);
        RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
        ret = zbl_unbind_req(dst_addr16, src_addr64, src_ep, cluster_id, dst_addr64, type,
                group_addr, dst_ep, cb, user_data);
index 5349d15d3935217d6cf09499471475c4c420e392..0dcbd122961d385a3800ebbc8e78cab04610a0d4 100644 (file)
@@ -1025,6 +1025,16 @@ static int __select_handle_register_event(MManager *mm, struct menu_data *menu)
 
        msg(" - zb_enable() ret: [0x%X] [%s]", ret, zigbee_error_to_string(ret));
 
+       /* Set coordinator address */
+       ret = zb_get_controller_mac_address(handle, co_addr64);
+       if (ZIGBEE_ERROR_NONE != ret)
+               msg("zb_get_controller_mac_address(%d) - FAILED!!! [%s]", ret, zigbee_error_to_string(ret));
+       else
+               msg("   Coordinator Address:");
+               msg("     %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
+                       co_addr64[0], co_addr64[1], co_addr64[2], co_addr64[3],
+                       co_addr64[4], co_addr64[5], co_addr64[6], co_addr64[7]);
+
        menu_manager_set_user_data(mm, handle);
 
        return RET_SUCCESS;
@@ -1075,6 +1085,10 @@ int main(int arg, char **argv)
 
 OUT:
        g_main_loop_unref(mainloop);
+
+       if (NULL != target_list)
+               zb_device_list_free(target_list);
+
        msg("******* Bye bye *******");
 
        return 0;