Przeglądaj źródła

[raudio] Fixed memory leak on early-return of WaveFormat func (#4779)

In the case of a failure within miniaudio on the function: ma_convert_frames, the dynamic memory allocated for the `data` variable  will leak on the early return.
Ralph Caraveo 7 miesięcy temu
rodzic
commit
4522ecae1a
1 zmienionych plików z 1 dodań i 0 usunięć
  1. 1 0
      src/raudio.c

+ 1 - 0
src/raudio.c

@@ -1240,6 +1240,7 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels)
     frameCount = (ma_uint32)ma_convert_frames(data, frameCount, formatOut, channels, sampleRate, wave->data, frameCountIn, formatIn, wave->channels, wave->sampleRate);
     if (frameCount == 0)
     {
+        RL_FREE(wave->data);
         TRACELOG(LOG_WARNING, "WAVE: Failed format conversion");
         return;
     }