SDL_mixer: Add missing error handling to SDL_realloc call

From 3c027eec3b83de9c7f7224b2b0f98eaa11729d34 Mon Sep 17 00:00:00 2001
From: Markus Mittendrein <[EMAIL REDACTED]>
Date: Sun, 20 Nov 2022 22:25:47 +0100
Subject: [PATCH] Add missing error handling to SDL_realloc call

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

diff --git a/src/mixer.c b/src/mixer.c
index 67c14551..1c295f84 100644
--- a/src/mixer.c
+++ b/src/mixer.c
@@ -758,6 +758,7 @@ Mix_Chunk *Mix_LoadWAV_RW(SDL_RWops *src, int freesrc)
     SDL_AudioCVT wavecvt;
     int samplesize;
     int wavfree;        /* to decide how to free chunk->abuf. */
+    Uint8 *resized_buf;
 
     /* rcg06012001 Make sure src is valid */
     if (!src) {
@@ -860,7 +861,12 @@ Mix_Chunk *Mix_LoadWAV_RW(SDL_RWops *src, int freesrc)
             return(NULL);
         }
 
-        chunk->abuf = SDL_realloc(wavecvt.buf, wavecvt.len_cvt);
+        resized_buf = SDL_realloc(wavecvt.buf, wavecvt.len_cvt);
+        if (resized_buf == NULL) {
+            chunk->abuf = wavecvt.buf;
+        } else {
+            chunk->abuf = resized_buf;
+        }
         chunk->alen = wavecvt.len_cvt;
         wavfree = 0;
     }