From 3bb527e14fbc202af920ca63e43021344974f4e7 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Fri, 26 Mar 2021 00:18:37 +0100 Subject: [PATCH] lib-sieve: plugins: include: ext-include-binary - Properly check whether binary dependency block load succeeded. Otherwise, a segfault may occur on a corrupt binary. --- src/lib-sieve/plugins/include/ext-include-binary.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib-sieve/plugins/include/ext-include-binary.c b/src/lib-sieve/plugins/include/ext-include-binary.c index 3711c30ff..11c1faaf8 100644 --- a/src/lib-sieve/plugins/include/ext-include-binary.c +++ b/src/lib-sieve/plugins/include/ext-include-binary.c @@ -252,6 +252,12 @@ static bool ext_include_binary_open sieve_size_t offset; sblock = sieve_binary_extension_get_block(sbin, ext); + if (sblock == NULL) { + e_error(svinst->event, + "include: failed to load dependency block of binary %s", + sieve_binary_path(sbin)); + return FALSE; + } block_id = sieve_binary_block_get_id(sblock); offset = 0; -- GitLab