Răsfoiți Sursa

wasapi: Fixed memory leak if new audio devices fail to add.

Ryan C. Gordon 1 an în urmă
părinte
comite
5fa7b291d4
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      src/core/windows/SDL_immdevice.c

+ 4 - 0
src/core/windows/SDL_immdevice.c

@@ -155,6 +155,10 @@ static SDL_AudioDevice *SDL_IMMDevice_Add(const SDL_bool iscapture, const char *
         spec.format = SDL_WaveFormatExToSDLFormat((WAVEFORMATEX *)fmt);
 
         device = SDL_AddAudioDevice(iscapture, devname, &spec, handle);
+        if (!device) {
+            SDL_free(handle->immdevice_id);
+            SDL_free(handle);
+        }
     }
 
     return device;