smbc_opendir should not return EEXIST with invalid login credentials
authorDavid Mulder <dmulder@suse.com>
Thu, 2 Nov 2017 14:25:11 +0000 (08:25 -0600)
committerJim McDonough <jmcd@samba.org>
Thu, 9 Nov 2017 00:49:06 +0000 (01:49 +0100)
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jim McDonough <jmcd@samba.org>
Autobuild-User(master): Jim McDonough <jmcd@samba.org>
Autobuild-Date(master): Thu Nov  9 01:49:06 CET 2017 on sn-devel-144

source3/libsmb/libsmb_server.c

index b0e5926fa65613c7fc461be0967d82f42d4e371b..93b9e80091061f8558b011909abfae26e69a2a36 100644 (file)
@@ -351,8 +351,8 @@ SMBC_server_internal(TALLOC_CTX *ctx,
                                                  "?????",
                                                  *pp_password);
                        if (!NT_STATUS_IS_OK(status)) {
-                                errno = map_errno_from_nt_status(status);
                                 cli_shutdown(srv->cli);
+                                errno = map_errno_from_nt_status(status);
                                srv->cli = NULL;
                                 smbc_getFunctionRemoveCachedServer(context)(context,
                                                                             srv);
@@ -562,8 +562,8 @@ SMBC_server_internal(TALLOC_CTX *ctx,
 
        status = cli_tree_connect_creds(c, share, "?????", creds);
        if (!NT_STATUS_IS_OK(status)) {
-               errno = map_errno_from_nt_status(status);
                cli_shutdown(c);
+               errno = map_errno_from_nt_status(status);
                return NULL;
        }