summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-03 17:50:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:31:06 -0500
commit8d5f642ee174efae25b7fe0498f07b9a13f8bfa1 (patch)
tree625fe79b3e8139b2b4fd42a3fcdcc3549476aff4
parent5ef83290bc4db2ac409b0de32f459aef3c52faeb (diff)
downloadsamba-8d5f642ee174efae25b7fe0498f07b9a13f8bfa1.tar.gz
samba-8d5f642ee174efae25b7fe0498f07b9a13f8bfa1.tar.bz2
samba-8d5f642ee174efae25b7fe0498f07b9a13f8bfa1.zip
r9008: check the return status for the directory handle creations
(This used to be commit 57e44300f73bbf190a0282925591b7dd1dfc2b6b)
-rw-r--r--source4/torture/raw/setfileinfo.c2
-rw-r--r--source4/torture/raw/unlink.c27
2 files changed, 21 insertions, 8 deletions
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);