From d5fb5edd930fe1c9eb461654f29343fc9057c130 Mon Sep 17 00:00:00 2001 From: Shaolin Date: Thu, 2 Aug 2018 15:32:54 -0300 Subject: [PATCH] obs-filters: Fix segfault in Compressor Filter obs_audio_data* sent to compressor_filter_audio had audio->frames == 0. The analyze_envelope was trying to access an array at index -1 in result of that. Just return if no samples are provided. This fixes Mantis issue: 1261 --- plugins/obs-filters/compressor-filter.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/obs-filters/compressor-filter.c b/plugins/obs-filters/compressor-filter.c index 2a882c728..244a9bcd9 100644 --- a/plugins/obs-filters/compressor-filter.c +++ b/plugins/obs-filters/compressor-filter.c @@ -442,6 +442,9 @@ static struct obs_audio_data *compressor_filter_audio(void *data, struct compressor_data *cd = data; const uint32_t num_samples = audio->frames; + if (num_samples == 0) + return audio; + float **samples = (float**)audio->data; pthread_mutex_lock(&cd->sidechain_update_mutex);