[SVACE] Fix WGID:27020, 27021 and 27022 09/144209/1 accepted/tizen/4.0/unified/20170828.223800 accepted/tizen/unified/20170816.160230 submit/tizen/20170816.062244 submit/tizen_4.0/20170828.100002
authorsaerome kim <saerome.kim@samsung.com>
Wed, 16 Aug 2017 02:03:12 +0000 (11:03 +0900)
committersaerome kim <saerome.kim@samsung.com>
Wed, 16 Aug 2017 02:03:12 +0000 (11:03 +0900)
Change-Id: I5ed9e5b689f88df6450a570e03a5bb5392887246
Signed-off-by: saerome kim <saerome.kim@samsung.com>
lib/zbl_dbus.c

index de91ae9..8ac53e8 100644 (file)
@@ -2081,16 +2081,18 @@ MGMT_NWK_DISC_REQ_OUT:
 
                if (payload_len > 0) {
                        payload = calloc(payload_len+1, sizeof(unsigned char));
-
+                       if (!payload) {
+                               ERR("calloc() Fail(%d)", errno);
+                               goto ZBL_CUSTOM_APS_SEND_REQ_OUT;
+                       }
                        while (g_variant_iter_loop(payload_iter, "(y)", &value))
                                payload[i++] = value;
-
-                       g_variant_iter_free(payload_iter);
                }
 
                cb(addr16, src_ep, dst_ep, cluster_id, profile_id, payload_len, payload,
                        container->userdata);
-
+ZBL_CUSTOM_APS_SEND_REQ_OUT:
+               g_variant_iter_free(payload_iter);
                free(payload);
        }
        break;
@@ -2115,16 +2117,18 @@ MGMT_NWK_DISC_REQ_OUT:
 
                if (payload_len > 0) {
                        payload = calloc(payload_len + 1, sizeof(unsigned char));
-
+                       if (!payload) {
+                               ERR("calloc() Fail(%d)", errno);
+                               goto ZBL_CUSTOM_ZCL_SEND_REQ_OUT;
+                       }
                        while (g_variant_iter_loop(payload_iter, "(y)", &value))
                                payload[i++] = value;
-
-                       g_variant_iter_free(payload_iter);
                }
 
                cb(addr16, src_ep, dst_ep, cluster_id, profile_id, payload_len, payload,
                        container->userdata);
-
+ZBL_CUSTOM_ZCL_SEND_REQ_OUT:
+               g_variant_iter_free(payload_iter);
                free(payload);
        }
        break;
@@ -2142,15 +2146,18 @@ MGMT_NWK_DISC_REQ_OUT:
 
                if (length > 0) {
                        data = calloc(length, sizeof(unsigned char));
+                       if (!data) {
+                               ERR("calloc() Fail(%d)", errno);
+                               goto ZBL_CUSTOM_LOCAL_SEND_REQ_OUT;
+                       }
 
                        while (g_variant_iter_loop(payload_iter, "(y)", &value))
                                data[i++] = value;
-
-                       g_variant_iter_free(payload_iter);
                }
 
                cb(length, data, container->userdata);
-
+ZBL_CUSTOM_LOCAL_SEND_REQ_OUT:
+               g_variant_iter_free(payload_iter);
                free(data);
        }
        break;