]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
quota-status: Use pooled memory for globals
authorAki Tuomi <aki.tuomi@dovecot.fi>
Mon, 3 Jul 2017 15:31:56 +0000 (18:31 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 7 Aug 2017 10:29:39 +0000 (13:29 +0300)
src/plugins/quota/quota-status.c

index 762ef34a1551ea729780bb169240d039e3749031..7a4984ff743bb9786050bbe3b6679201f3f35419 100644 (file)
@@ -25,6 +25,7 @@ struct quota_client {
        uoff_t size;
 };
 
+static pool_t quota_status_pool;
 static enum quota_protocol protocol;
 static struct mail_storage_service_ctx *storage_service;
 static struct connection_list *clients;
@@ -204,6 +205,7 @@ static void main_init(void)
        input.module = "mail";
        input.username = "";
 
+       quota_status_pool = pool_alloconly_create("quota status settings", 512);
        pool = pool_alloconly_create("service all settings", 4096);
        if (mail_storage_service_read_settings(storage_service, &input, pool,
                                               &user_info, &set_parser,
@@ -212,14 +214,14 @@ static void main_init(void)
        user_set = master_service_settings_parser_get_others(master_service,
                                                             set_parser)[0];
        value = mail_user_set_plugin_getenv(user_set, "quota_status_nouser");
-       nouser_reply = value != NULL ? i_strdup(value) :
-               i_strdup("REJECT Unknown user");
+       nouser_reply = p_strdup(quota_status_pool,
+                               value != NULL ? value : "REJECT Unknown user");
        pool_unref(&pool);
 }
 
 static void main_deinit(void)
 {
-       i_free(nouser_reply);
+       pool_unref(&quota_status_pool);
        connection_list_deinit(&clients);
        mail_storage_service_deinit(&storage_service);
 }