r9008: check the return status for the directory handle creations
authorAndrew Tridgell <tridge@samba.org>
Wed, 3 Aug 2005 17:50:00 +0000 (17:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:31:06 +0000 (13:31 -0500)
(This used to be commit 57e44300f73bbf190a0282925591b7dd1dfc2b6b)

source4/torture/raw/setfileinfo.c
source4/torture/raw/unlink.c

index 50ace8aa06a7c7c77ca31e5a01272caecdd431ea..d34921806a9cdf410154147db5113f47c4d04257 100644 (file)
@@ -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);
index a83a6bf25af87fb7a30950137bbbaec1e9908bc3..78ff0447dac904ec37a997fe911b2cf1e50eee8c 100644 (file)
@@ -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);