From ec12da273e0cf1989674d271864785cc89c6e9de Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 4 Jan 2011 23:10:01 +0100 Subject: tests: Fixed the segfault in torture_knownhosts. --- tests/client/torture_knownhosts.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/client/torture_knownhosts.c b/tests/client/torture_knownhosts.c index 9c44c9e9..8f9db8ee 100644 --- a/tests/client/torture_knownhosts.c +++ b/tests/client/torture_knownhosts.c @@ -36,9 +36,12 @@ static void setup(void **state) { } static void teardown(void **state) { - ssh_free(*state); + ssh_session session = *state; + + ssh_disconnect(session); + ssh_free(session); + unlink(KNOWNHOSTFILES); - ssh_finalize(); } static void torture_knownhosts_port(void **state) { @@ -64,9 +67,6 @@ static void torture_knownhosts_port(void **state) { rc = ssh_write_knownhost(session); assert_true(rc == SSH_OK); - ssh_disconnect(session); - ssh_free(session); - file = fopen(KNOWNHOSTFILES, "r"); assert_true(file != NULL); fgets(buffer, sizeof(buffer), file); @@ -74,21 +74,21 @@ static void torture_knownhosts_port(void **state) { buffer[sizeof(buffer) - 1] = '\0'; assert_true(strstr(buffer,"[localhost]:1234 ") != NULL); + ssh_disconnect(session); + ssh_free(session); + /* Now, connect back to the ssh server and verify the known host line */ - session = ssh_new(); + *state = session = ssh_new(); + ssh_options_set(session, SSH_OPTIONS_HOST, "localhost"); ssh_options_set(session, SSH_OPTIONS_KNOWNHOSTS, KNOWNHOSTFILES); -#if 0 - ssh_options_set(session,SSH_OPTIONS_LOG_VERBOSITY, &verbosity); -#endif + rc = ssh_connect(session); assert_true(rc == SSH_OK); session->port = 1234; rc = ssh_is_server_known(session); assert_true(rc == SSH_SERVER_KNOWN_OK); - - ssh_disconnect(session); } int torture_run_tests(void) { @@ -100,7 +100,7 @@ int torture_run_tests(void) { ssh_init(); rc = run_tests(tests); - ssh_finalize(); + ssh_finalize(); return rc; } -- cgit v1.2.3