mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-26 01:03:15 +03:00
tests: Prevent memory leaks from test
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
This commit is contained in:
@@ -93,6 +93,7 @@ static int setup_directory_structure(void **state)
|
|||||||
|
|
||||||
rc = torture_change_dir(temp_dir);
|
rc = torture_change_dir(temp_dir);
|
||||||
assert_int_equal(rc, 0);
|
assert_int_equal(rc, 0);
|
||||||
|
SAFE_FREE(temp_dir);
|
||||||
|
|
||||||
test_state->temp_dir = torture_get_current_working_dir();
|
test_state->temp_dir = torture_get_current_working_dir();
|
||||||
assert_non_null(test_state->temp_dir);
|
assert_non_null(test_state->temp_dir);
|
||||||
@@ -188,6 +189,7 @@ static void torture_pki_ecdsa_publickey_from_privatekey_uri(void **state, const
|
|||||||
assert_return_code(rc, errno);
|
assert_return_code(rc, errno);
|
||||||
assert_true(rc == SSH_OK);
|
assert_true(rc == SSH_OK);
|
||||||
assert_non_null(pblob);
|
assert_non_null(pblob);
|
||||||
|
ssh_string_free(pblob);
|
||||||
|
|
||||||
rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
|
rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
|
||||||
assert_return_code(rc, errno);
|
assert_return_code(rc, errno);
|
||||||
@@ -246,6 +248,7 @@ static void import_pubkey_without_loading_public_uri(void **state, const char *u
|
|||||||
rc = ssh_pki_export_pubkey_blob(privkey, &pblob);
|
rc = ssh_pki_export_pubkey_blob(privkey, &pblob);
|
||||||
assert_int_not_equal(rc, 0);
|
assert_int_not_equal(rc, 0);
|
||||||
assert_null(pblob);
|
assert_null(pblob);
|
||||||
|
ssh_string_free(pblob);
|
||||||
|
|
||||||
rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
|
rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
|
||||||
assert_int_not_equal(rc, 0);
|
assert_int_not_equal(rc, 0);
|
||||||
@@ -320,7 +323,7 @@ static void torture_ecdsa_sign_verify_uri(void **state, const char *uri, enum ss
|
|||||||
type_char = ssh_key_type_to_char(type);
|
type_char = ssh_key_type_to_char(type);
|
||||||
etype_char = ssh_pki_key_ecdsa_name(privkey);
|
etype_char = ssh_pki_key_ecdsa_name(privkey);
|
||||||
|
|
||||||
switch(dig_type) {
|
switch (dig_type) {
|
||||||
case SSH_DIGEST_SHA256:
|
case SSH_DIGEST_SHA256:
|
||||||
assert_true(type == SSH_KEYTYPE_ECDSA_P256);
|
assert_true(type == SSH_KEYTYPE_ECDSA_P256);
|
||||||
assert_string_equal(type_char, "ecdsa-sha2-nistp256");
|
assert_string_equal(type_char, "ecdsa-sha2-nistp256");
|
||||||
@@ -340,6 +343,7 @@ static void torture_ecdsa_sign_verify_uri(void **state, const char *uri, enum ss
|
|||||||
printf("Invalid hash type: %d\n", dig_type);
|
printf("Invalid hash type: %d\n", dig_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ssh_free(session);
|
||||||
ssh_signature_free(sign);
|
ssh_signature_free(sign);
|
||||||
SSH_KEY_FREE(privkey);
|
SSH_KEY_FREE(privkey);
|
||||||
SSH_KEY_FREE(pubkey);
|
SSH_KEY_FREE(pubkey);
|
||||||
@@ -549,6 +553,7 @@ int torture_run_tests(void) {
|
|||||||
torture_filter_tests(tests);
|
torture_filter_tests(tests);
|
||||||
rc = cmocka_run_group_tests(tests, setup_directory_structure, teardown_directory_structure);
|
rc = cmocka_run_group_tests(tests, setup_directory_structure, teardown_directory_structure);
|
||||||
|
|
||||||
|
ssh_free(session);
|
||||||
ssh_finalize();
|
ssh_finalize();
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|||||||
Reference in New Issue
Block a user