add null checking before set error value 04/193504/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 21 Nov 2018 08:52:12 +0000 (17:52 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Thu, 22 Nov 2018 04:51:03 +0000 (13:51 +0900)
Change-Id: I49ff7ab80ec8a7f337bb1b22b6e96798cae213eb
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
backends/virtual/tdm_virtual_display.c
src/tdm_output.c

index fe4a5c9..3f9d9b5 100644 (file)
@@ -761,25 +761,23 @@ virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *erro
        tdm_virtual_voutput_data *voutput_data = NULL;
        tdm_virtual_output_data *output_data = NULL;
        tdm_virtual_layer_data *layer_data = NULL;
-       tdm_error ret;
 
        if (!virtual_data || !name) {
                TDM_ERR("invalid parameter");
-               *error = TDM_ERROR_INVALID_PARAMETER;
+               if (error) *error = TDM_ERROR_INVALID_PARAMETER;
                return NULL;
        }
 
        voutput_data = calloc(1, sizeof(tdm_virtual_voutput_data));
        if (!voutput_data) {
                TDM_ERR("alloc failed");
-               *error = TDM_ERROR_OUT_OF_MEMORY;
+               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
                return NULL;
        }
 
        voutput_data->output_modes = calloc(1, sizeof(tdm_output_mode));
        if (!voutput_data->output_modes) {
                TDM_ERR("alloc failed");
-               ret = TDM_ERROR_OUT_OF_MEMORY;
                goto create_fail;
        }
 
@@ -809,7 +807,6 @@ virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *erro
        output_data = calloc(1, sizeof(tdm_virtual_output_data));
        if (!output_data) {
                TDM_ERR("alloc failed");
-               *error = TDM_ERROR_OUT_OF_MEMORY;
                goto create_fail;
        }
        voutput_data->output_data = output_data;
@@ -833,7 +830,7 @@ virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *erro
        output_data->timer = tdm_event_loop_add_timer_handler(virtual_data->dpy,
                                                                                                                  _tdm_virtual_display_cb_timeout,
                                                                                                                  output_data,
-                                                                                                                 &ret);
+                                                                                                                 NULL);
        if (!output_data->timer) goto create_fail;
 
        LIST_INITHEAD(&output_data->timer_event_list);
@@ -842,7 +839,6 @@ virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *erro
        layer_data = calloc(1, sizeof(tdm_virtual_layer_data));
        if (!layer_data) {
                TDM_ERR("alloc failed");
-               ret = TDM_ERROR_OUT_OF_MEMORY;
                goto create_fail;
        }
 
@@ -857,7 +853,7 @@ virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *erro
        LIST_ADDTAIL(&output_data->link, &virtual_data->output_list);
        LIST_ADDTAIL(&layer_data->link, &output_data->layer_list);
 
-       *error = TDM_ERROR_NONE;
+       if (error) *error = TDM_ERROR_NONE;
 
        TDM_DBG("virtual output create(%s)(%p)(%p)", output_data->name, voutput_data, output_data);
 
@@ -869,7 +865,7 @@ create_fail:
        if (voutput_data->output_modes) free(voutput_data->output_modes);
        if (voutput_data) free(voutput_data);
 
-       *error = ret;
+       if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
 
        return NULL;
 }
@@ -937,11 +933,11 @@ virtual_output_get_output(tdm_voutput *voutput, tdm_error *error)
        RETURN_VAL_IF_FAIL(voutput_data, NULL);
 
        if (!voutput_data) {
-               *error = TDM_ERROR_INVALID_PARAMETER;
+               if (error) *error = TDM_ERROR_INVALID_PARAMETER;
                return NULL;
        }
 
-       *error = TDM_ERROR_NONE;
+       if (error) *error = TDM_ERROR_NONE;
 
        return voutput_data->output_data;
 }
index 3d6686b..16b7bf1 100644 (file)
@@ -1983,12 +1983,11 @@ tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
 
        _pthread_mutex_lock(&private_display->lock);
 
-       if (error)
-               *error = TDM_ERROR_NONE;
+       if (error) *error = TDM_ERROR_NONE;
 
        private_voutput = calloc(1, sizeof(tdm_private_voutput));
        if (!private_voutput) {
-               *error = TDM_ERROR_OUT_OF_MEMORY;
+               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
                _pthread_mutex_unlock(&private_display->lock);
                return NULL;
        }
@@ -2003,7 +2002,7 @@ tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
        if (voutput_backend == NULL || ret != TDM_ERROR_NONE) {
                TDM_ERR("voutput_create fail");
                free(private_voutput);
-               *error = ret;
+               if (error) *error = ret;
                private_display->current_module = current_module;
                _pthread_mutex_unlock(&private_display->lock);
                return NULL;
@@ -2017,7 +2016,7 @@ tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
        if (output_backend == NULL || ret != TDM_ERROR_NONE) {
                TDM_ERR("voutput_get_output fail");
                free(private_voutput);
-               *error = ret;
+               if (error) *error = ret;
                if (func_voutput->voutput_destroy)
                        func_voutput->voutput_destroy(voutput_backend);
                else
@@ -2035,7 +2034,7 @@ tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
                        func_voutput->voutput_destroy(voutput_backend);
                else
                        TDM_ERR("no destroy function");
-               *error = ret;
+               if (error) *error = ret;
                private_display->current_module = current_module;
                _pthread_mutex_unlock(&private_display->lock);
                return NULL;