From 3b0347ac48711fbda5d9b36115d4a74ab738d63f Mon Sep 17 00:00:00 2001
From: Eddy Jansson <[EMAIL REDACTED]>
Date: Sun, 19 Oct 2025 11:17:11 +0200
Subject: [PATCH] Don't do NULL-checks before free()
---
src/dialog/windows/SDL_windowsdialog.c | 4 +++-
src/hidapi/windows/hid.c | 4 +---
src/video/x11/xsettings-client.c | 11 ++++-------
3 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/src/dialog/windows/SDL_windowsdialog.c b/src/dialog/windows/SDL_windowsdialog.c
index b25282417526f..92ba44ed83ab5 100644
--- a/src/dialog/windows/SDL_windowsdialog.c
+++ b/src/dialog/windows/SDL_windowsdialog.c
@@ -731,7 +731,9 @@ bool windows_ShowModernFileFolderDialog(SDL_FileDialogType dialog_type, const ch
// default_file_w is a pointer into default_folder_w.
if (default_folder_w) {
SDL_free(default_folder_w);
- } else SDL_free(default_file_w);
+ } else {
+ SDL_free(default_file_w);
+ }
SDL_free(title_w);
diff --git a/src/hidapi/windows/hid.c b/src/hidapi/windows/hid.c
index 8a8224302e75e..e8bfb026b5e40 100644
--- a/src/hidapi/windows/hid.c
+++ b/src/hidapi/windows/hid.c
@@ -991,9 +991,7 @@ struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned shor
break;
}
- if (device_interface_list != NULL) {
- free(device_interface_list);
- }
+ free(device_interface_list); // This should NOT be SDL_free()
device_interface_list = (wchar_t*)calloc(len, sizeof(wchar_t));
if (device_interface_list == NULL) {
diff --git a/src/video/x11/xsettings-client.c b/src/video/x11/xsettings-client.c
index 8fb1cd3c6c821..88a7b7eb5a80e 100644
--- a/src/video/x11/xsettings-client.c
+++ b/src/video/x11/xsettings-client.c
@@ -659,9 +659,8 @@ xsettings_setting_copy (XSettingsSetting *setting)
return result;
err:
- if (result->name)
- free (result->name);
- free (result);
+ free(result->name); // This should NOT be SDL_free()
+ free(result); // This should NOT be SDL_free()
return NULL;
}
@@ -741,10 +740,8 @@ xsettings_setting_free (XSettingsSetting *setting)
if (setting->type == XSETTINGS_TYPE_STRING)
free (setting->data.v_string);
- if (setting->name)
- free (setting->name);
-
- free (setting);
+ free(setting->name); // This should NOT be SDL_free()
+ free(setting); // This should NOT be SDL_free()
}
void