From 2580953b87a2d487b61a6f32648477d1696f59b7 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sun, 26 Feb 2023 00:56:39 +0100 Subject: [PATCH] Clarify buffer_is_valid check --- src/wrapper/clap/wrapper.rs | 1 + src/wrapper/vst3/wrapper.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/wrapper/clap/wrapper.rs b/src/wrapper/clap/wrapper.rs index 2f511576..e4ec06aa 100644 --- a/src/wrapper/clap/wrapper.rs +++ b/src/wrapper/clap/wrapper.rs @@ -2037,6 +2037,7 @@ impl Wrapper

{ { let audio_outputs = &*process.audio_outputs; let num_output_channels = audio_outputs.channel_count as usize; + // This ensures that we never feed dangling slices to the wrapped plugin buffer_is_valid = num_output_channels == output_slices.len(); nih_debug_assert_eq!(num_output_channels, output_slices.len()); diff --git a/src/wrapper/vst3/wrapper.rs b/src/wrapper/vst3/wrapper.rs index bbdd077c..963e2bb1 100644 --- a/src/wrapper/vst3/wrapper.rs +++ b/src/wrapper/vst3/wrapper.rs @@ -1302,6 +1302,7 @@ impl IAudioProcessor for Wrapper

{ if !data.outputs.is_null() { let num_output_channels = (*data.outputs).num_channels as usize; + // This ensures that we never feed dangling slices to the wrapped plugin buffer_is_valid = num_output_channels == output_slices.len(); nih_debug_assert_eq!(num_output_channels, output_slices.len());