From a19f94c644d552466fd9f15f1b1d9c04d6fac0e9 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 28 Jan 2021 10:56:18 -0800 Subject: [PATCH] s3: smbtorture3: Ensure run_tcon_test() always replaces any saved tcon and shuts down correctly even in error paths. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13992 Signed-off-by: Jeremy Allison Reviewed-by: Andreas Schneider (cherry picked from commit f9ca91bd293e9f2710c4449c5d4f5d016a066049) --- source3/torture/torture.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 56258d3d2ad..03b2340c54f 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -1362,6 +1362,7 @@ static bool run_tcon_test(int dummy) if (!NT_STATUS_IS_OK(status)) { printf("%s refused 2nd tree connect (%s)\n", host, nt_errstr(status)); + cli_state_restore_tcon(cli, orig_tcon); cli_shutdown(cli); return False; } @@ -1414,6 +1415,8 @@ static bool run_tcon_test(int dummy) status = cli_close(cli, fnum1); if (!NT_STATUS_IS_OK(status)) { printf("close failed (%s)\n", nt_errstr(status)); + cli_state_restore_tcon(cli, orig_tcon); + cli_shutdown(cli); return False; } @@ -1422,6 +1425,8 @@ static bool run_tcon_test(int dummy) status = cli_tdis(cli); if (!NT_STATUS_IS_OK(status)) { printf("secondary tdis failed (%s)\n", nt_errstr(status)); + cli_state_restore_tcon(cli, orig_tcon); + cli_shutdown(cli); return False; } -- 2.47.2