[connman] Fixed memory leak issue. 20/72020/4 accepted/tizen/common/20160607.194721 accepted/tizen/ivi/20160607.235418 accepted/tizen/mobile/20160607.235355 accepted/tizen/tv/20160607.235409 accepted/tizen/wearable/20160607.235343 submit/tizen/20160607.090155
authorNiraj Kumar Goit <niraj.g@samsung.com>
Mon, 30 May 2016 13:51:18 +0000 (19:21 +0530)
committerNiraj Kumar Goit <niraj.g@samsung.com>
Mon, 30 May 2016 16:12:29 +0000 (21:42 +0530)
Added NULL check before derefrencing of pointer variable.
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
Change-Id: If065f024fe62e72887591f54eaabf4ed70a8d2e2

client/commands.c

index 9208016..3f7e001 100755 (executable)
@@ -2189,12 +2189,30 @@ static struct _peer_service *fill_in_peer_service(unsigned char *bjr_query,
 
        service = dbus_malloc0(sizeof(*service));
 
+#if defined TIZEN_EXT
+       if (!service)
+               return NULL;
+#endif
+
        if (bjr_query_len && bjr_response_len) {
                service->bjr_query = dbus_malloc0(bjr_query_len);
+#if defined TIZEN_EXT
+               if(!service->bjr_query) {
+                       dbus_free(service);
+                       return NULL;
+               }
+#endif
                memcpy(service->bjr_query, bjr_query, bjr_query_len);
                service->bjr_query_len = bjr_query_len;
 
                service->bjr_response = dbus_malloc0(bjr_response_len);
+#if defined TIZEN_EXT
+               if(!service->bjr_response) {
+                       dbus_free(service->bjr_query);
+                       dbus_free(service);
+                       return NULL;
+               }
+#endif
                memcpy(service->bjr_response, bjr_response, bjr_response_len);
                service->bjr_response_len = bjr_response_len;
        } else if (upnp_service && version) {
@@ -2202,6 +2220,12 @@ static struct _peer_service *fill_in_peer_service(unsigned char *bjr_query,
                service->version = version;
        } else if (wfd_ies && wfd_ies_len) {
                service->wfd_ies = dbus_malloc0(wfd_ies_len);
+#if defined TIZEN_EXT
+               if (!service->wfd_ies) {
+                       dbus_free(service);
+                       return NULL;
+               }
+#endif
                memcpy(service->wfd_ies, wfd_ies, wfd_ies_len);
                service->wfd_ies_len = wfd_ies_len;
        } else {