From 1f80c8dc16bb60dd57bbf6293151ac900a910b54 Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Wed, 31 Jul 2019 23:50:29 +0100 Subject: [PATCH] render: don't free blur_kerns_cache when it's not used blur_kernel_count could be none zero when user set a blur kernel but didn't enable blur. In that case deinit_render will try to free elements of blur_kerns_cache, causing a segfault because blur_kerns_cache is never allocated. Fixes #209 Signed-off-by: Yuxuan Shui --- src/render.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/render.c b/src/render.c index c2f9262..43a1164 100644 --- a/src/render.c +++ b/src/render.c @@ -1216,10 +1216,12 @@ void deinit_render(session_t *ps) { } #endif - for (int i = 0; i < ps->o.blur_kernel_count; i++) { - free(ps->blur_kerns_cache[i]); + if (ps->o.blur_method != BLUR_METHOD_NONE) { + for (int i = 0; i < ps->o.blur_kernel_count; i++) { + free(ps->blur_kerns_cache[i]); + } + free(ps->blur_kerns_cache); } - free(ps->blur_kerns_cache); } // vim: set ts=8 sw=8 noet :