]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: test-buffer - Fix memory leak errors in fatal buffer tests
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 18 Jan 2021 12:46:55 +0000 (13:46 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 18 Jan 2021 13:55:43 +0000 (14:55 +0100)
src/lib/test-buffer.c

index 9d9f02e5ddd0b05aa8dd44555b5da685e73a7e13..0574cef1a4b62d0b902fd36997ab768c78a3863e 100644 (file)
@@ -336,6 +336,11 @@ void test_buffer(void)
        test_buffer_replace();
 }
 
+static void fatal_buffer_free(buffer_t *buf)
+{
+       buffer_free(&buf);
+}
+
 enum fatal_test_state fatal_buffer(unsigned int stage)
 {
        buffer_t *buf;
@@ -346,11 +351,13 @@ enum fatal_test_state fatal_buffer(unsigned int stage)
                buf = buffer_create_dynamic_max(default_pool, 1, 5);
                buffer_append(buf, "12345", 5);
                test_expect_fatal_string("Buffer write out of range");
+               test_fatal_set_callback(fatal_buffer_free, buf);
                buffer_append_c(buf, 'x');
                return FATAL_TEST_FAILURE;
        case 1:
                buf = buffer_create_dynamic_max(default_pool, 1, 5);
                test_expect_fatal_string("Buffer write out of range");
+               test_fatal_set_callback(fatal_buffer_free, buf);
                buffer_append(buf, "123456", 6);
                return FATAL_TEST_FAILURE;
        default: