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 *));