s4:libcli: Fix error in smbcli_deltree()
authorTim Beale <timbeale@catalyst.net.nz>
Thu, 6 Dec 2018 03:03:23 +0000 (16:03 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 12 Dec 2018 03:38:13 +0000 (04:38 +0100)
Commit 094afe614b6282 fixed an uninitialized variable, which meant we
tried to delete the file twice. The 2nd time fails, so the function
returns an error, instead of success (even though the file is now gone).

Note we want to be using the source3 SMB library code going forward.
However, fixing this bug makes it easier to write tests against the
(currently s4) SMB python bindings.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13676

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/libcli/clideltree.c

index 7bce95c..e8007f4 100644 (file)
@@ -99,7 +99,7 @@ int smbcli_deltree(struct smbcli_tree *tree, const char *dname)
 
        /* it might be a file */
        status = smbcli_unlink(tree, dname);
-       if (NT_STATUS_IS_OK(smbcli_unlink(tree, dname))) {
+       if (NT_STATUS_IS_OK(status)) {
                return 1;
        }
        if (NT_STATUS_EQUAL(smbcli_nt_error(tree), NT_STATUS_OBJECT_NAME_NOT_FOUND) ||