]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: Create each service in its own data stack frame
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 21 Sep 2021 15:21:54 +0000 (18:21 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 22 Sep 2021 11:11:23 +0000 (11:11 +0000)
src/master/service.c

index e94dfbcca7a8e5f88cecf790709600db71bed3d7..74e6fa5bb7231513cbcfe4a556d05ff1acf26e2b 100644 (file)
@@ -430,8 +430,10 @@ services_create_real(const struct master_settings *set, pool_t pool,
        for (i = 0; i < count; i++) {
                if (!service_want(service_settings[i]))
                        continue;
-               service = service_create(pool, service_settings[i],
-                                        service_list, &error);
+               T_BEGIN {
+                       service = service_create(pool, service_settings[i],
+                                                service_list, &error);
+               } T_END_PASS_STR_IF(service == NULL, &error);
                if (service == NULL) {
                        *error_r = t_strdup_printf("service(%s) %s",
                                service_settings[i]->name, error);