summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-10-19 08:09:45 +0200
committerGitHub <noreply@github.com>2021-10-19 08:09:45 +0200
commitfbd701a1283dc6d3c34ff5c2eff2f158f2a7c0bc (patch)
treeeeeb2ff69a5fee5df8bdc17842ae00a4f5cefc3e
parent3ee3197e409bdd69ee1176de7e75a7b11b365bfc (diff)
parent61ab63a4be73b5a70a26604e05c2bdea669ceca6 (diff)
Merge pull request #53960 from Klowner/audioserver-startplaybackstream-potential-leak
-rw-r--r--servers/audio_server.cpp6
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;