test_linkedlists: Fix memory leak
authorJonathan Rose <jrose@digium.com>
Thu, 24 Oct 2013 19:57:04 +0000 (19:57 +0000)
committerJonathan Rose <jrose@digium.com>
Thu, 24 Oct 2013 19:57:04 +0000 (19:57 +0000)
(issue ASTERISK-22467)
Reported by: Corey Farrell
Patches:
    test_linkedlists-1.8.patch uploaded by coreyfarrell (license 5909)
    test_linkedlists-11up.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 401790 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 401791 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 401792 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401793 65c4cc65-6c06-0410-ace0-fbb531ad65f3

tests/test_linkedlists.c

index 2aee5c9..9edab94 100644 (file)
@@ -105,19 +105,16 @@ static int dbl_list_expect_reverse(struct test_dbl_llist *test_list, const char
 #define MATCH_OR_FAIL(list, val, retbuf) \
        if (list_expect(list, val, &retbuf)) { \
                ast_test_status_update(test, "Expected: %s, Got: %s\n", val, ast_str_buffer(retbuf)); \
-               ast_free(retbuf); \
                return AST_TEST_FAIL; \
        }
 
 #define MATCH_OR_FAIL_DBL(list, val, retbuf) \
        if (dbl_list_expect_forward(list, val, &retbuf)) { \
                ast_test_status_update(test, "Expected: %s, Got: %s\n", val, ast_str_buffer(retbuf)); \
-               ast_free(retbuf); \
                return AST_TEST_FAIL; \
        } \
        if (dbl_list_expect_reverse(list, val, &retbuf)) { \
                ast_test_status_update(test, "Expected reverse of: %s, Got: %s\n", val, ast_str_buffer(retbuf)); \
-               ast_free(retbuf); \
                return AST_TEST_FAIL; \
        }
 
@@ -129,7 +126,7 @@ static int dbl_list_expect_reverse(struct test_dbl_llist *test_list, const char
 
 AST_TEST_DEFINE(single_ll_tests)
 {
-       struct ast_str *buf;
+       RAII_VAR(struct ast_str *, buf, NULL, ast_free);
        struct test_llist test_list = { 0, };
        struct test_llist other_list = { 0, };
        struct test_val *bogus;
@@ -340,7 +337,7 @@ AST_TEST_DEFINE(single_ll_tests)
 
 AST_TEST_DEFINE(double_ll_tests)
 {
-       struct ast_str *buf;
+       RAII_VAR(struct ast_str *, buf, NULL, ast_free);
        struct test_dbl_llist test_list = { 0, };
        struct test_dbl_llist other_list = { 0, };
        struct test_val *bogus;