Fix use after free when removing Windows audio device

This commit is contained in:
Mathieu Eyraud 2022-08-02 15:25:44 +02:00 committed by Ryan C. Gordon
parent 59a104b803
commit f1390780ca
2 changed files with 4 additions and 2 deletions

View File

@ -396,10 +396,11 @@ WASAPI_RemoveDevice(const SDL_bool iscapture, LPCWSTR devid)
SDL_RemoveAudioDevice(iscapture, i->str);
SDL_free(i->str);
SDL_free(i);
}
} else {
prev = i;
}
}
}
static void
WASAPI_AddDevice(const SDL_bool iscapture, const char *devname, WAVEFORMATEXTENSIBLE *fmt, LPCWSTR devid)

View File

@ -108,10 +108,11 @@ 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;
}
}
}
static void
SDL_IMMDevice_Add(const SDL_bool iscapture, const char *devname, WAVEFORMATEXTENSIBLE *fmt, LPCWSTR devid, GUID *dsoundguid, SDL_bool useguid)