r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
[samba.git] / source3 / libsmb / libsmb_cache.c
index 5d948ea5e25dd77512e349fc69e317c308e7a467..8c4fd7c89f72e96764dc1a9a880a81ba245805f8 100644 (file)
@@ -150,9 +150,10 @@ static SMBCSRV * smbc_get_cached_server(SMBCCTX * context, const char * server,
                                  * doesn't match the requested share, so
                                  * disconnect from the current share.
                                  */
-                                if (! cli_tdis(&srv->server->cli)) {
+                                if (! cli_tdis(srv->server->cli)) {
                                         /* Sigh. Couldn't disconnect. */
-                                        cli_shutdown(&srv->server->cli);
+                                        cli_shutdown(srv->server->cli);
+                                       srv->server->cli = NULL;
                                         context->callbacks.remove_cached_srv_fn(context, srv->server);
                                         continue;
                                 }
@@ -166,7 +167,8 @@ static SMBCSRV * smbc_get_cached_server(SMBCCTX * context, const char * server,
                                 srv->share_name = SMB_STRDUP(share);
                                 if (!srv->share_name) {
                                         /* Out of memory. */
-                                        cli_shutdown(&srv->server->cli);
+                                        cli_shutdown(srv->server->cli);
+                                       srv->server->cli = NULL;
                                         context->callbacks.remove_cached_srv_fn(context, srv->server);
                                         continue;
                                 }