From: Gerald Carter Date: Fri, 19 Mar 2004 15:52:16 +0000 (+0000) Subject: wrap cli_tdis() in check to make sure we have a valid cnum X-Git-Tag: samba-4.0.0alpha6~801^2~11793^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54d355e581bc1c1bf8deb3c1973285de805743ba;p=thirdparty%2Fsamba.git wrap cli_tdis() in check to make sure we have a valid cnum (This used to be commit e54342b062e7736b46f56bcb0e064acc5a7b98ee) --- diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index 28da73894fe..370249d0474 100644 --- a/source3/libsmb/clientgen.c +++ b/source3/libsmb/clientgen.c @@ -367,15 +367,16 @@ void cli_nt_netlogon_netsec_session_close(struct cli_state *cli) void cli_close_connection(struct cli_state *cli) { - /* - * tell our peer to free his resources. Wihtout this, when an - * application attempts to do a graceful shutdown and calls - * smbc_free_context() to clean up all connections, some connections - * can remain active on the peer end, until some (long) timeout period - * later. This tree disconnect forces the peer to clean up, since the - * connection will be going away. - */ - cli_tdis(cli); + /* + * tell our peer to free his resources. Wihtout this, when an + * application attempts to do a graceful shutdown and calls + * smbc_free_context() to clean up all connections, some connections + * can remain active on the peer end, until some (long) timeout period + * later. This tree disconnect forces the peer to clean up, since the + * connection will be going away. + */ + if ( cli->cnum != -1 ) + cli_tdis(cli); cli_nt_session_close(cli); cli_nt_netlogon_netsec_session_close(cli);