From: Christof Schmitt Date: Tue, 18 Aug 2020 19:48:09 +0000 (-0700) Subject: lib/util: Move cleanup for unit test in teardown function X-Git-Tag: talloc-2.3.2~735 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3109a11c8dbfbe3afec8fdfe44371ab13780dc6;p=thirdparty%2Fsamba.git lib/util: Move cleanup for unit test in teardown function Where to call rmdir does not matter, but that should avoid the TOCTOU warning from CID 1466194 and might be slightly cleaner. Signed-off-by: Christof Schmitt Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Mon Aug 24 03:10:09 UTC 2020 on sn-devel-184 --- diff --git a/lib/util/tests/test_util.c b/lib/util/tests/test_util.c index ad21642357d..e547668ade3 100644 --- a/lib/util/tests/test_util.c +++ b/lib/util/tests/test_util.c @@ -130,9 +130,14 @@ static void test_directory_create_or_exists_none(void **state) assert_return_code(ret, errno); assert_int_equal(sbuf.st_mode & 0777, 0775); assert_true(S_ISDIR(sbuf.st_mode)); +} - ret = rmdir(paths->none); - assert_return_code(ret, errno); +static int teardown_none_directory(void **state) +{ + struct test_paths *paths = *state; + + rmdir(paths->none); + return 0; } static void test_directory_create_or_exists_dir(void **state) @@ -218,7 +223,8 @@ static void test_directory_create_or_exists_symlink_file(void **state) int main(int argc, char **argv) { const struct CMUnitTest tests[] = { - cmocka_unit_test(test_directory_create_or_exists_none), + cmocka_unit_test_teardown(test_directory_create_or_exists_none, + teardown_none_directory), cmocka_unit_test(test_directory_create_or_exists_dir), cmocka_unit_test(test_directory_create_or_exists_file), cmocka_unit_test(test_directory_create_or_exists_symlink_none),