]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-flatcurve: fts_flatcurve_xapian_db_populate() - Remove memory leak on returning...
authorMarco Bettini <marco.bettini@open-xchange.com>
Tue, 20 May 2025 15:53:28 +0000 (15:53 +0000)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 22 May 2025 11:25:02 +0000 (11:25 +0000)
Discovered on coverity

src/plugins/fts-flatcurve/fts-backend-flatcurve-xapian.cc

index f9826b3ac6fe80ddac316e7c89dc61846d980f6e..aa65b3e5445accb3464dfc8baba6d5e99671afa3 100644 (file)
@@ -678,7 +678,7 @@ fts_flatcurve_xapian_create_current(struct flatcurve_fts_backend *backend,
                ret = fts_flatcurve_xapian_db_add(backend,
                        fts_flatcurve_xapian_create_db_path(backend, fname),
                        FLATCURVE_XAPIAN_DB_TYPE_CURRENT, TRUE, &xdb, error_r);
-       } T_END;
+       } T_END_PASS_STR_IF(ret < 0, error_r);
 
        if (ret < 0)
                return -1;
@@ -720,7 +720,7 @@ fts_flatcurve_xapian_db_populate(struct flatcurve_fts_backend *backend,
                else if (errno == ENOENT)
                        lock = FALSE;
                else {
-                       *error_r = i_strdup_printf(
+                       *error_r = t_strdup_printf(
                                "stat(%s) failed: %m",
                                str_c(backend->db_path));
                        return -1;
@@ -730,7 +730,7 @@ fts_flatcurve_xapian_db_populate(struct flatcurve_fts_backend *backend,
                                backend->backend.ns->list,
                                str_c(backend->db_path),
                                MAILBOX_LIST_PATH_TYPE_INDEX) < 0) {
-                       *error_r = i_strdup_printf(
+                       *error_r = t_strdup_printf(
                                "Cannot create DB (RW); %s",
                                str_c(backend->db_path));
                        return -1;