1
0
Эх сурвалжийг харах

Fix use after free when removing Windows audio device

Mathieu Eyraud 2 жил өмнө
parent
commit
f1390780ca

+ 2 - 1
src/audio/wasapi/SDL_wasapi_winrt.cpp

@@ -396,8 +396,9 @@ WASAPI_RemoveDevice(const SDL_bool iscapture, LPCWSTR devid)
             SDL_RemoveAudioDevice(iscapture, i->str);
             SDL_free(i->str);
             SDL_free(i);
+        } else {
+            prev = i;
         }
-        prev = i;
     }
 }
 

+ 2 - 1
src/core/windows/SDL_immdevice.c

@@ -108,8 +108,9 @@ SDL_IMMDevice_Remove(const SDL_bool iscapture, LPCWSTR devid, SDL_bool useguid)
             SDL_RemoveAudioDevice(iscapture, useguid ? ((void *) i->guid) : ((void *) i->str));
             SDL_free(i->str);
             SDL_free(i);
+        } else {
+            prev = i;
         }
-        prev = i;
     }
 }