diff options
Diffstat (limited to 'source3/client/client.c')
-rw-r--r-- | source3/client/client.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source3/client/client.c b/source3/client/client.c index 20a9bec4a2..49b6406d4b 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -5319,7 +5319,7 @@ static int do_host_query(const char *query_host) static int do_tar_op(const char *base_directory) { extern struct tar tar_ctx; - int ret; + int ret = 0; /* do we already have a connection? */ if (!cli) { @@ -5330,26 +5330,27 @@ static int do_tar_op(const char *base_directory) service, auth_info, true, smb_encrypt, max_protocol, port, name_type, &cli); if (!NT_STATUS_IS_OK(status)) { - return 1; + ret = 1; + goto out; } cli_set_timeout(cli, io_timeout*1000); } - recurse=true; + recurse = true; if (base_directory && *base_directory) { ret = do_cd(base_directory); if (ret) { - cli_shutdown(cli); - return ret; + goto out_cli; } } ret = tar_process(&tar_ctx); + out_cli: cli_shutdown(cli); - - return(ret); + out: + return ret; } /**************************************************************************** |