mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-07-29 13:01:13 +03:00
tests: Avoid memory leaks
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com>
This commit is contained in:
@ -149,6 +149,7 @@ static void torture_open_success(void **state)
|
|||||||
|
|
||||||
assert_int_equal(STATE_SUCCESS, cb_state->open_response);
|
assert_int_equal(STATE_SUCCESS, cb_state->open_response);
|
||||||
|
|
||||||
|
free(cb_state);
|
||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,6 +171,7 @@ static void torture_open_failure(void **state)
|
|||||||
|
|
||||||
assert_int_equal(STATE_FAILURE, cb_state->open_response);
|
assert_int_equal(STATE_FAILURE, cb_state->open_response);
|
||||||
|
|
||||||
|
free(cb_state);
|
||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,6 +196,7 @@ static void torture_request_success(void **state)
|
|||||||
|
|
||||||
assert_int_equal(STATE_SUCCESS, cb_state->request_response);
|
assert_int_equal(STATE_SUCCESS, cb_state->request_response);
|
||||||
|
|
||||||
|
free(cb_state);
|
||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,6 +221,7 @@ static void torture_request_failure(void **state)
|
|||||||
|
|
||||||
assert_int_equal(STATE_SUCCESS, cb_state->request_response);
|
assert_int_equal(STATE_SUCCESS, cb_state->request_response);
|
||||||
|
|
||||||
|
free(cb_state);
|
||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ static int sshd_setup(void **state)
|
|||||||
s = *((struct torture_state **)state);
|
s = *((struct torture_state **)state);
|
||||||
s->private_data = test_state;
|
s->private_data = test_state;
|
||||||
|
|
||||||
test_state->orig_dir = strdup(torture_get_current_working_dir());
|
test_state->orig_dir = torture_get_current_working_dir();
|
||||||
assert_non_null(test_state->orig_dir);
|
assert_non_null(test_state->orig_dir);
|
||||||
|
|
||||||
temp_dir = torture_make_temp_dir(template);
|
temp_dir = torture_make_temp_dir(template);
|
||||||
@ -137,7 +137,7 @@ static void test_algorithm(ssh_session session,
|
|||||||
const char *cipher,
|
const char *cipher,
|
||||||
const char *hostkey)
|
const char *hostkey)
|
||||||
{
|
{
|
||||||
char data[256];
|
char data[256] = {0};
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (kex != NULL) {
|
if (kex != NULL) {
|
||||||
@ -161,7 +161,7 @@ static void test_algorithm(ssh_session session,
|
|||||||
assert_ssh_return_code(session, rc);
|
assert_ssh_return_code(session, rc);
|
||||||
|
|
||||||
/* send ignore packets of all sizes */
|
/* send ignore packets of all sizes */
|
||||||
memset(data, 'A', sizeof(data));
|
memset(data, 'A', sizeof(data) - 1);
|
||||||
ssh_send_ignore(session, data);
|
ssh_send_ignore(session, data);
|
||||||
ssh_handle_packets(session, 50);
|
ssh_handle_packets(session, 50);
|
||||||
|
|
||||||
|
@ -292,6 +292,8 @@ torture_run_tests(void)
|
|||||||
setup_directory_structure,
|
setup_directory_structure,
|
||||||
teardown_directory_structure);
|
teardown_directory_structure);
|
||||||
|
|
||||||
|
ssh_free(session);
|
||||||
|
|
||||||
ssh_finalize();
|
ssh_finalize();
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -73,6 +73,7 @@ static void torture_session_keys(UNUSED_PARAM(void **state))
|
|||||||
assert_int_equal(rc, 0);
|
assert_int_equal(rc, 0);
|
||||||
|
|
||||||
test_crypto.shared_secret = ssh_make_string_bn(k_string);
|
test_crypto.shared_secret = ssh_make_string_bn(k_string);
|
||||||
|
SSH_STRING_FREE(k_string);
|
||||||
|
|
||||||
rc = ssh_generate_session_keys(&session);
|
rc = ssh_generate_session_keys(&session);
|
||||||
assert_int_equal(rc, 0);
|
assert_int_equal(rc, 0);
|
||||||
@ -84,7 +85,13 @@ static void torture_session_keys(UNUSED_PARAM(void **state))
|
|||||||
assert_memory_equal(test_crypto.encryptMAC, eMAC, 32);
|
assert_memory_equal(test_crypto.encryptMAC, eMAC, 32);
|
||||||
assert_memory_equal(test_crypto.decryptMAC, dMAC, 32);
|
assert_memory_equal(test_crypto.decryptMAC, dMAC, 32);
|
||||||
|
|
||||||
SSH_STRING_FREE(k_string);
|
bignum_safe_free(test_crypto.shared_secret);
|
||||||
|
SAFE_FREE(test_crypto.encryptIV);
|
||||||
|
SAFE_FREE(test_crypto.decryptIV);
|
||||||
|
SAFE_FREE(test_crypto.encryptkey);
|
||||||
|
SAFE_FREE(test_crypto.decryptkey);
|
||||||
|
SAFE_FREE(test_crypto.encryptMAC);
|
||||||
|
SAFE_FREE(test_crypto.decryptMAC);
|
||||||
}
|
}
|
||||||
|
|
||||||
int torture_run_tests(void) {
|
int torture_run_tests(void) {
|
||||||
|
Reference in New Issue
Block a user