init: correct the init fail procedure 16/171116/2
authorBoram Park <boram1288.park@samsung.com>
Mon, 26 Feb 2018 23:30:49 +0000 (08:30 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 26 Feb 2018 23:51:00 +0000 (08:51 +0900)
Change-Id: I08e6aca1b61c8c3dc1f1623bee5bb2c2364ecd36

src/tdm.c

index 6b796ea..be28ef5 100644 (file)
--- a/src/tdm.c
+++ b/src/tdm.c
@@ -860,7 +860,8 @@ _tdm_display_load_module_with_file(tdm_private_display *private_display,
 failed_load:
        if (bdata)
                module_data->deinit(bdata);
-       dlclose(module);
+       if (module)
+               dlclose(module);
        if (private_backend)
                free(private_backend);
        return ret;
@@ -1087,11 +1088,11 @@ tdm_display_init(tdm_error *error)
 failed_update:
        _tdm_display_unload_modules(private_display);
 failed_load:
+       tdm_vblank_deinit(private_display);
+failed_vblank:
        tdm_event_loop_stop(private_display);
        tdm_event_loop_deinit(private_display);
 failed_event:
-       tdm_vblank_deinit(private_display);
-failed_vblank:
        _pthread_mutex_unlock(&private_display->lock);
        pthread_mutex_destroy(&private_display->lock);
 failed_mutex_init: