From 8d5f642ee174efae25b7fe0498f07b9a13f8bfa1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 3 Aug 2005 17:50:00 +0000 Subject: r9008: check the return status for the directory handle creations (This used to be commit 57e44300f73bbf190a0282925591b7dd1dfc2b6b) --- source4/torture/raw/setfileinfo.c | 2 +- source4/torture/raw/unlink.c | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) (limited to 'source4/torture') diff --git a/source4/torture/raw/setfileinfo.c b/source4/torture/raw/setfileinfo.c index 50ace8aa06..d34921806a 100644 --- a/source4/torture/raw/setfileinfo.c +++ b/source4/torture/raw/setfileinfo.c @@ -484,7 +484,7 @@ BOOL torture_raw_sfileinfo(void) CHECK_STR(NAME_INFO, name_info, fname.s, path_fname); printf("Trying rename with a root fid\n"); - d_fnum = create_directory_handle(cli->tree, BASEDIR); + status = create_directory_handle(cli->tree, BASEDIR, &d_fnum); sfinfo.rename_information.in.new_name = fnum_fname_new+strlen(BASEDIR)+1; sfinfo.rename_information.in.root_fid = d_fnum; CHECK_CALL_FNUM(RENAME_INFORMATION, NT_STATUS_INVALID_PARAMETER); diff --git a/source4/torture/raw/unlink.c b/source4/torture/raw/unlink.c index a83a6bf25a..78ff0447da 100644 --- a/source4/torture/raw/unlink.c +++ b/source4/torture/raw/unlink.c @@ -220,7 +220,8 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) printf("Testing with directory and delete_on_close 0\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); sfinfo.disposition_info.level = RAW_SFILEINFO_DISPOSITION_INFORMATION; sfinfo.disposition_info.file.fnum = fnum; @@ -234,7 +235,9 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) CHECK_STATUS(status, NT_STATUS_OK); printf("Testing with directory delete_on_close 1\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); + sfinfo.disposition_info.file.fnum = fnum; sfinfo.disposition_info.in.delete_on_close = 1; status = smb_raw_setfileinfo(cli->tree, &sfinfo); @@ -247,7 +250,9 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) printf("Testing with non-empty directory delete_on_close\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); + fnum2 = create_complex_file(cli, mem_ctx, inside); sfinfo.disposition_info.file.fnum = fnum; @@ -274,7 +279,9 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND); printf("Testing open dir with delete_on_close\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); + smbcli_close(cli->tree, fnum); fnum2 = create_complex_file(cli, mem_ctx, inside); smbcli_close(cli->tree, fnum2); @@ -301,9 +308,13 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) status = smb_raw_rmdir(cli->tree, &dio); CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY); + smbcli_deltree(cli->tree, dname); printf("Testing double open dir with second delete_on_close\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); + smbcli_close(cli->tree, fnum); + fnum2 = create_complex_file(cli, mem_ctx, inside); smbcli_close(cli->tree, fnum2); @@ -325,14 +336,16 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) fnum2 = op.ntcreatex.out.fnum; smbcli_close(cli->tree, fnum2); - smbcli_close(cli->tree, fnum); status = smb_raw_rmdir(cli->tree, &dio); CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY); + smbcli_deltree(cli->tree, dname); printf("Testing pre-existing open dir with second delete_on_close\n"); - fnum = create_directory_handle(cli->tree, dname); + status = create_directory_handle(cli->tree, dname, &fnum); + CHECK_STATUS(status, NT_STATUS_OK); + smbcli_close(cli->tree, fnum); fnum = create_complex_file(cli, mem_ctx, inside); -- cgit