SDL: DOS & Tray: Don't do NULL-checks before SDL_free()

From 70159c34f63abb234c3110c661c1e78579c3bc44 Mon Sep 17 00:00:00 2001
From: Eddy Jansson <[EMAIL REDACTED]>
Date: Wed, 13 May 2026 18:05:39 +0200
Subject: [PATCH] DOS & Tray: Don't do NULL-checks before SDL_free()

---
 src/audio/dos/SDL_dosaudio_sb.c |  8 ++------
 src/thread/dos/SDL_sysmutex.c   |  4 +---
 src/thread/dos/SDL_syssem.c     |  4 +---
 src/tray/unix/SDL_dbustray.c    | 12 +++---------
 4 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/src/audio/dos/SDL_dosaudio_sb.c b/src/audio/dos/SDL_dosaudio_sb.c
index 881750d1d4f7f..bf53adec4fe1e 100644
--- a/src/audio/dos/SDL_dosaudio_sb.c
+++ b/src/audio/dos/SDL_dosaudio_sb.c
@@ -485,12 +485,8 @@ static void DOSSOUNDBLASTER_CloseDevice(SDL_AudioDevice *device)
         }
 
         // Free ring buffer resources.
-        if (hidden->ring_buffer) {
-            SDL_free(hidden->ring_buffer);
-        }
-        if (hidden->staging_buffer) {
-            SDL_free(hidden->staging_buffer);
-        }
+        SDL_free(hidden->ring_buffer);
+        SDL_free(hidden->staging_buffer);
 
         // Clear ISR-visible statics.
         isr_ring_buffer = NULL;
diff --git a/src/thread/dos/SDL_sysmutex.c b/src/thread/dos/SDL_sysmutex.c
index 69f70c0125cdc..e9a73058f1d17 100644
--- a/src/thread/dos/SDL_sysmutex.c
+++ b/src/thread/dos/SDL_sysmutex.c
@@ -48,9 +48,7 @@ SDL_Mutex *SDL_CreateMutex(void)
 
 void SDL_DestroyMutex(SDL_Mutex *mutex)
 {
-    if (mutex) {
-        SDL_free(mutex);
-    }
+    SDL_free(mutex);
 }
 
 void SDL_LockMutex(SDL_Mutex *mutex) SDL_NO_THREAD_SAFETY_ANALYSIS
diff --git a/src/thread/dos/SDL_syssem.c b/src/thread/dos/SDL_syssem.c
index ea10d84d9d59f..a71b6bbc31afe 100644
--- a/src/thread/dos/SDL_syssem.c
+++ b/src/thread/dos/SDL_syssem.c
@@ -44,9 +44,7 @@ SDL_Semaphore *SDL_CreateSemaphore(Uint32 initial_value)
 
 void SDL_DestroySemaphore(SDL_Semaphore *sem)
 {
-    if (sem) {
-        SDL_free(sem);
-    }
+    SDL_free(sem);
 }
 
 bool SDL_WaitSemaphoreTimeoutNS(SDL_Semaphore *sem, Sint64 timeoutNS)
diff --git a/src/tray/unix/SDL_dbustray.c b/src/tray/unix/SDL_dbustray.c
index c2c66679e7160..3a015d55d79c3 100644
--- a/src/tray/unix/SDL_dbustray.c
+++ b/src/tray/unix/SDL_dbustray.c
@@ -561,9 +561,7 @@ void DestroyMenu(SDL_TrayMenu *menu)
         SDL_ListClear(&menu_dbus->menu);
     }
 
-    if (menu_dbus->array_representation) {
-        SDL_free(menu_dbus->array_representation);
-    }
+    SDL_free(menu_dbus->array_representation);
 
     SDL_free(menu_dbus);
     SDL_free(menu);
@@ -656,9 +654,7 @@ void SetTrayTooltip(SDL_Tray *tray, const char *text)
     driver = (SDL_TrayDriverDBus *)tray->driver->internal;
     tray_dbus = (SDL_TrayDBus *)tray->internal;
 
-    if (tray_dbus->tooltip) {
-        SDL_free(tray_dbus->tooltip);
-    }
+    SDL_free(tray_dbus->tooltip);
 
     if (text) {
         tray_dbus->tooltip = SDL_strdup(text);
@@ -907,9 +903,7 @@ SDL_TrayEntry **GetTrayEntries(SDL_TrayMenu *menu, int *count)
 
     menu_dbus = (SDL_TrayMenuDBus *)menu->internal;
 
-    if (menu_dbus->array_representation) {
-        SDL_free(menu_dbus->array_representation);
-    }
+    SDL_free(menu_dbus->array_representation);
 
     sz = SDL_ListCountEntries(&menu_dbus->menu);
     array_representation = SDL_calloc(sz + 1, sizeof(SDL_TrayEntry *));