SDL: Don't overwrite the SDL_IOFromFile() error in SDL_LoadFile()

From 51dc9787858246eff4333a0c3466f134a55041df Mon Sep 17 00:00:00 2001
From: Zack Middleton <[EMAIL REDACTED]>
Date: Mon, 14 Oct 2024 20:52:23 -0500
Subject: [PATCH] Don't overwrite the SDL_IOFromFile() error in SDL_LoadFile()

---
 src/file/SDL_iostream.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/file/SDL_iostream.c b/src/file/SDL_iostream.c
index db9f05d9af6e7..1b51cd0992a3e 100644
--- a/src/file/SDL_iostream.c
+++ b/src/file/SDL_iostream.c
@@ -1204,7 +1204,14 @@ void *SDL_LoadFile_IO(SDL_IOStream *src, size_t *datasize, bool closeio)
 
 void *SDL_LoadFile(const char *file, size_t *datasize)
 {
-    return SDL_LoadFile_IO(SDL_IOFromFile(file, "rb"), datasize, true);
+    SDL_IOStream *stream = SDL_IOFromFile(file, "rb");
+    if (!stream) {
+        if (datasize) {
+            *datasize = 0;
+        }
+        return NULL;
+    }
+    return SDL_LoadFile_IO(stream, datasize, true);
 }
 
 SDL_PropertiesID SDL_GetIOProperties(SDL_IOStream *context)