Browse Source

Dialog: Add suffix to filters all the time

For some obscure reason I can't remember, I had made it so the suffix would be added only if the filter list was empty. That isn't the expected behavior and caused a mishandling of memory on Windows, which requires a two-null-bytes suffix.
Semphris 7 months ago
parent
commit
bc9c86bcc2
1 changed files with 8 additions and 11 deletions
  1. 8 11
      src/dialog/SDL_dialog_utils.c

+ 8 - 11
src/dialog/SDL_dialog_utils.c

@@ -78,21 +78,18 @@ char *convert_filters(const SDL_DialogFileFilter *filters, int nfilters,
         SDL_free(converted);
     }
 
-    // If the filter list is empty, put the suffix
-    if (!filters->name || !filters->pattern) {
-        new_length = SDL_strlen(combined) + SDL_strlen(suffix) + 1;
+    new_length = SDL_strlen(combined) + SDL_strlen(suffix) + 1;
 
-        new_combined = (char *)SDL_realloc(combined, new_length);
+    new_combined = (char *)SDL_realloc(combined, new_length);
 
-        if (!new_combined) {
-            SDL_free(combined);
-            return NULL;
-        }
+    if (!new_combined) {
+        SDL_free(combined);
+        return NULL;
+    }
 
-        combined = new_combined;
+    combined = new_combined;
 
-        SDL_strlcat(combined, suffix, new_length);
-    }
+    SDL_strlcat(combined, suffix, new_length);
 
     return combined;
 }