]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-fs: timing_deinit()s was called too late - fs was already freed.
authorTimo Sirainen <tss@iki.fi>
Wed, 16 Sep 2015 22:33:01 +0000 (07:33 +0900)
committerTimo Sirainen <tss@iki.fi>
Wed, 16 Sep 2015 22:33:01 +0000 (07:33 +0900)
src/lib-fs/fs-api.c

index 7620e745198e228ac41f986cb3b40c76b3c9e812..5d918e91afa4756d9abfdedb185f6da4a39c671b 100644 (file)
@@ -192,11 +192,11 @@ void fs_unref(struct fs **_fs)
        i_free(fs->username);
        i_free(fs->session_id);
        i_free(fs->temp_path_prefix);
+       for (i = 0; i < FS_OP_COUNT; i++)
+               timing_deinit(&fs->stats.timings[i]);
        T_BEGIN {
                fs->v.deinit(fs);
        } T_END;
-       for (i = 0; i < FS_OP_COUNT; i++)
-               timing_deinit(&fs->stats.timings[i]);
        array_free_i(&module_contexts_arr);
        str_free(&last_error);
 }