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 7bce95c2a1798d7b0b16415bac023a5fcc02af5d..e8007f4495a2f8843fe796d281a9f8436379dc69 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) ||