Fix invalid read memory accepted/tizen/mobile/20151224.062143 accepted/tizen/tv/20151224.062209 accepted/tizen/wearable/20151224.062250 submit/tizen/20151223.235704 submit/tizen_common/20151229.142028 submit/tizen_common/20151229.144031 submit/tizen_common/20151229.154718
authorsung.goo.kim <sung.goo.kim@samsung.com>
Wed, 23 Dec 2015 11:15:58 +0000 (20:15 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Wed, 23 Dec 2015 23:56:34 +0000 (08:56 +0900)
Change-Id: I5bfc055e6face56acb4f24a78be68fb752738778

daemon/icd-dbus.c
daemon/icd-ioty-ocprocess.c
daemon/icd-payload.c

index 57b2a63..b16f619 100644 (file)
@@ -92,7 +92,7 @@ int icd_dbus_client_list_get_resource_info(OCResourceHandle handle,
                        rsrc_handle = cur_hd->data;
 
                        if (rsrc_handle->handle == handle) {
-                               DBG("signal_number(%u) for resource handle(%u) found",
+                               DBG("signal_number(%x) for resource handle(%p) found",
                                                rsrc_handle->signal_number, handle);
                                *signal_number = rsrc_handle->signal_number;
                                *bus_name = ic_utils_strdup(client->bus_name);
index 235bc1c..e992a3e 100644 (file)
@@ -455,6 +455,7 @@ static int _worker_find_cb(void *context)
        struct icd_find_context *ctx = context;
 
        RETV_IF(NULL == ctx, IOTCON_ERROR_INVALID_PARAMETER);
+       RETV_IF(NULL == ctx->payload, IOTCON_ERROR_INVALID_PARAMETER);
 
        for (i = 0; ctx->payload[i]; i++) {
                value = g_variant_new("(vi)", ctx->payload[i], ctx->conn_type);
index 003566e..8d8377f 100644 (file)
@@ -64,7 +64,7 @@ GVariant** icd_payload_res_to_gvariant(OCPayload *payload, OCDevAddr *dev_addr)
 
        res_count = OCDiscoveryPayloadGetResourceCount(discovered);
 
-       value = calloc(res_count, sizeof(GVariant*));
+       value = calloc(res_count + 1, sizeof(GVariant*));
        if (NULL == value) {
                ERR("calloc() Fail(%d)", errno);
                return NULL;