diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-10-19 08:09:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-19 08:09:45 +0200 |
commit | fbd701a1283dc6d3c34ff5c2eff2f158f2a7c0bc (patch) | |
tree | eeeb2ff69a5fee5df8bdc17842ae00a4f5cefc3e | |
parent | 3ee3197e409bdd69ee1176de7e75a7b11b365bfc (diff) | |
parent | 61ab63a4be73b5a70a26604e05c2bdea669ceca6 (diff) |
Merge pull request #53960 from Klowner/audioserver-startplaybackstream-potential-leak
-rw-r--r-- | servers/audio_server.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index a420134626..ab704c6f78 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -1131,8 +1131,10 @@ void AudioServer::start_playback_stream(Ref<AudioStreamPlayback> p_playback, Map AudioStreamPlaybackBusDetails *new_bus_details = new AudioStreamPlaybackBusDetails(); int idx = 0; for (KeyValue<StringName, Vector<AudioFrame>> pair : p_bus_volumes) { - ERR_FAIL_COND(pair.value.size() < channel_count); - ERR_FAIL_COND(pair.value.size() != MAX_CHANNELS_PER_BUS); + if (pair.value.size() < channel_count || pair.value.size() != MAX_CHANNELS_PER_BUS) { + delete new_bus_details; + ERR_FAIL(); + } new_bus_details->bus_active[idx] = true; new_bus_details->bus[idx] = pair.key; |