ldb: Call TALLOC_FREE(filtered_msg->elements) on ldb_filter_attrs() failure
authorAndrew Bartlett <abartlet@samba.org>
Mon, 26 Aug 2019 02:50:15 +0000 (14:50 +1200)
committerKarolin Seeger <kseeger@samba.org>
Wed, 4 Sep 2019 08:31:24 +0000 (08:31 +0000)
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 27 01:16:33 UTC 2019 on sn-devel-184

(cherry picked from commit 1521a22f4366c86ec955cb9d32b7a758315d8ce0)

lib/ldb/common/ldb_pack.c
lib/ldb/tests/ldb_filter_attrs_test.c

index b5e1fbbc4ffc87c805446a4a209c2645ae035ba8..e7dd364008a9db7ca35a34e7c180b6c523dba1a3 100644 (file)
@@ -1256,5 +1256,6 @@ int ldb_filter_attrs(struct ldb_context *ldb,
 
        return 0;
 failed:
+       TALLOC_FREE(filtered_msg->elements);
        return -1;
 }
index d04775879acfe4ad5f23c96f93b37b9474bf3eda..7d555e0da2e220d09dcda626a85d6ecb97efcd81 100644 (file)
@@ -384,6 +384,7 @@ static void test_filter_attrs_two_dup_attr_matched_one_attr(void **state)
 
        /* This should fail the pidgenhole test */
        assert_int_equal(ret, -1);
+       assert_null(filtered_msg->elements);
 }
 
 /*
@@ -772,6 +773,7 @@ static void test_filter_attrs_one_attr_matched_star_no_dn(void **state)
                               attrs,
                               filtered_msg);
        assert_int_equal(ret, -1);
+       assert_null(filtered_msg->elements);
 }
 
 /*