add null checking before set error value
[platform/core/uifw/libtdm.git] / src / tdm_output.c
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;