[PATCH] lib-sieve/sieve-script.c: sieve_script_create_common: Correctly handle errors.
authorAlexander Gerasiov <a@gerasiov.net>
Tue, 23 Sep 2025 10:50:43 +0000 (13:50 +0300)
committerNoah Meyerhans <noahm@debian.org>
Thu, 23 Oct 2025 14:01:33 +0000 (10:01 -0400)
Fixes null pointer deref (e.g. in case of absent file).

Gbp-Pq: Name lib-sieve_sieve-script_c_sieve_script_create_common_Correctly_handle_errors.patch

pigeonhole/src/lib-sieve/sieve-script.c

index 67526c4ef33684eaeb5b74ab297bf05b8d29c072..caf3c8a0ff6e98779591e7b37233d390e6613bd2 100644 (file)
@@ -166,8 +166,8 @@ sieve_script_create_common(struct sieve_instance *svinst,
                sieve_storage_unref(&storage);
                if (ret > 0 && open &&
                    sieve_script_open(script, error_code_r) < 0) {
-                       *error_r = sieve_storage_get_last_error(
-                               storage, error_code_r);
+                       *error_r = sieve_script_get_last_error(
+                               script, error_code_r);
                        sieve_script_unref(&script);
                        if (*error_code_r == SIEVE_ERROR_NOT_FOUND)
                                continue;