On Windows attempt to destroy voice which is the output for another voice does nothing. FAudioVoice_DestroyVoice() currently used is destroying the voice without any checks and return code, so that results in use after free later. FAudioVoice_DestroyVoiceSafeEXT() was added to FAudio to solve this.