[SDL_Tizen][Svace] Fix dereference 83/144783/1 accepted/tizen_3.0_common accepted/tizen_3.0_ivi accepted/tizen_3.0_mobile accepted/tizen_3.0_tv accepted/tizen_3.0_wearable tizen_3.0 accepted/tizen/3.0/common/20170824.151107 accepted/tizen/3.0/ivi/20170823.221713 accepted/tizen/3.0/mobile/20170823.221701 accepted/tizen/3.0/tv/20170823.221709 accepted/tizen/3.0/wearable/20170823.221717 submit/tizen_3.0/20170822.112514
authorhuiyu,eun <huiyu.eun@samsung.com>
Fri, 18 Aug 2017 02:13:29 +0000 (11:13 +0900)
committerhuiyu,eun <huiyu.eun@samsung.com>
Fri, 18 Aug 2017 02:21:58 +0000 (11:21 +0900)
After having been compared to NULL value at SDL_tizenwindow.c:315,
pointer 'wind->surface' is passed as 1st parameter in call
to function 'wl_surface_set_opaque_region' at SDL_tizenwindow.c:339,
where it is dereferenced at wayland-client-protocol.h:1882.

Change-Id: I24c8c2d8c18b3d236a05e9c1f633f50fc6f97e6f
Signed-off-by: huiyu,eun <huiyu.eun@samsung.com>
src/video/tizen/SDL_tizenwindow.c

index 7a11621..fd0e3cc 100755 (executable)
@@ -308,12 +308,14 @@ Tizen_CreateWindow(_THIS, SDL_Window *window)
     wind->window = ecore_wl_window_new(NULL,
                                        window->x, window->y, window->w, window->h,
                                        ECORE_WL_WINDOW_BUFFER_TYPE_SHM);
-    if (wind->window) {
+    if (!wind->window) {
         SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to create wayland window");
+        return -1;
     }
     wind->surface = ecore_wl_window_surface_create(wind->window);
-    if (wind->surface) {
+    if (!wind->surface) {
         SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to create wayland window surface");
+        return -1;
     }
     ecore_wl_window_type_set(wind->window, ECORE_WL_WINDOW_TYPE_UTILITY);