Fix dereference issue detected by static code analyzer 04/74404/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 14 Jun 2016 06:59:35 +0000 (15:59 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 14 Jun 2016 06:59:39 +0000 (15:59 +0900)
Return value of a function 'wl_resource_create' is dereferenced at e_mod_main.c:894 without checking, but it is usually checked for this function

Change-Id: I09b8d8e971ded1da0b2e1930977f48f3ae9b21f8

src/e_mod_main.c

index 3390c3f73a118a16a02acbac902dacc2a4ae5543..e659fb8cc1396ba75f804d6baac3f0f9ac8bac06 100644 (file)
@@ -909,9 +909,11 @@ _e_text_input_cb_activate(struct wl_client *client, struct wl_resource *resource
            wl_resource_create(wl_resource_get_client(input_method->resource),
                               &wl_input_method_context_interface, 1, 0);
 
-        wl_resource_set_implementation(context->resource,
-                                       &_e_text_input_method_context_implementation,
-                                       context, _e_text_input_method_context_cb_resource_destroy);
+
+        if (context->resource)
+          wl_resource_set_implementation(context->resource,
+                                         &_e_text_input_method_context_implementation,
+                                         context, _e_text_input_method_context_cb_resource_destroy);
 
         context->model = text_input;
         context->input_method = input_method;
@@ -1001,9 +1003,10 @@ _e_text_input_method_create_context(struct wl_client *client, E_Input_Method *in
       wl_resource_create(wl_resource_get_client(input_method->resource),
                          &wl_input_method_context_interface, 1, 0);
 
-   wl_resource_set_implementation(context->resource,
-                                  &_e_text_input_method_context_implementation,
-                                  context, _e_text_input_method_context_cb_resource_destroy);
+   if (context->resource)
+     wl_resource_set_implementation(context->resource,
+                                    &_e_text_input_method_context_implementation,
+                                    context, _e_text_input_method_context_cb_resource_destroy);
 
    context->model = text_input;
    context->input_method = input_method;