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());