From 4198f0e52c00b7b3393039e0bf589d9a78f3024b Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <sezeroz@gmail.com>
Date: Mon, 21 Dec 2020 01:20:30 +0300
Subject: [PATCH] fix uninitialized warnings in KMSDRM_CreateCursor()

---
 src/video/kmsdrm/SDL_kmsdrmmouse.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c
index 3b4b18feb..e17c3c579 100644
--- a/src/video/kmsdrm/SDL_kmsdrmmouse.c
+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c
@@ -106,6 +106,9 @@ KMSDRM_CreateCursor(SDL_Surface * surface, int hot_x, int hot_y)
     KMSDRM_CursorData *curdata;
     SDL_Cursor *cursor, *ret;
 
+    curdata = NULL;
+    ret = NULL;
+
     /* All code below assumes ARGB8888 format for the cursor surface,
        like other backends do. Also, the GBM BO pixels have to be
        alpha-premultiplied, but the SDL surface we receive has
@@ -116,13 +119,11 @@ KMSDRM_CreateCursor(SDL_Surface * surface, int hot_x, int hot_y)
     cursor = (SDL_Cursor *) SDL_calloc(1, sizeof(*cursor));
     if (!cursor) {
         SDL_OutOfMemory();
-        ret = NULL;
         goto cleanup;
     }
     curdata = (KMSDRM_CursorData *) SDL_calloc(1, sizeof(*curdata));
     if (!curdata) {
         SDL_OutOfMemory();
-        ret = NULL;
         goto cleanup;
     }
 
@@ -164,15 +165,15 @@ KMSDRM_CreateCursor(SDL_Surface * surface, int hot_x, int hot_y)
 
 cleanup:
     if (ret == NULL) {
-	if (curdata->buffer) {
-	    SDL_free(curdata->buffer);
+	if (curdata) {
+	    if (curdata->buffer) {
+		SDL_free(curdata->buffer);
+	    }
+	    SDL_free(curdata);
 	}
 	if (cursor) {
 	    SDL_free(cursor);
 	}
-	if (curdata) {
-	    SDL_free(curdata);
-	}
     }
 
     return ret;