diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-06-29 09:22:26 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-06-29 09:30:59 +0200 |
commit | 1444ae5add315df23a20db48474b1e357b0385e0 (patch) | |
tree | c4026fa7736c7ca38624318b30496d25ac506794 /tests | |
parent | aa95eb1965b223e1630f6d184255dee48ee3215c (diff) | |
download | libssh-1444ae5add315df23a20db48474b1e357b0385e0.tar.gz libssh-1444ae5add315df23a20db48474b1e357b0385e0.tar.xz libssh-1444ae5add315df23a20db48474b1e357b0385e0.zip |
pki: Fix random memory corruption
Fixes T78
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/torture_key.c | 3 | ||||
-rw-r--r-- | tests/unittests/torture_pki_rsa.c | 20 |
2 files changed, 21 insertions, 2 deletions
diff --git a/tests/torture_key.c b/tests/torture_key.c index a52fcdac..c0ec845a 100644 --- a/tests/torture_key.c +++ b/tests/torture_key.c @@ -170,8 +170,7 @@ static const char torture_dsa_public_testkey[] = "AQDM+JcO6XTMdyXTKIo+tGsuA0kd4pxPol+UGeAruNBEhVSDcXfXTh9tVravBqeIuX" "gZIFk9cylR2eDwAAAIB4roDQBfgf8AoSAJAb7y8OVvxt5cT7iqaRMQX2XgtW09Nu9R" "bUIVS7n2mw3iqZG0xnG3iv1oL9gwNXMLlf+gLmsqU3788jaEZ9IhZ8VdgHAoHm6UWM" - "7b2uADmhirI6dRZUVO+/iMGUvDxa66OI4hDV055pbwQhtxupUatThyDzIg== " - "aris@aris-air\n"; + "7b2uADmhirI6dRZUVO+/iMGUvDxa66OI4hDV055pbwQhtxupUatThyDzIg==\n"; static const char torture_dsa_testkey_cert[] = "ssh-dss-cert-v01@openssh.com AAAAHHNzaC1kc3MtY2VydC12MDFAb3BlbnNza" diff --git a/tests/unittests/torture_pki_rsa.c b/tests/unittests/torture_pki_rsa.c index 54e459f9..1f4f8402 100644 --- a/tests/unittests/torture_pki_rsa.c +++ b/tests/unittests/torture_pki_rsa.c @@ -31,6 +31,8 @@ static int setup_rsa_key(void **state) torture_get_testkey(SSH_KEYTYPE_RSA, 0, 1)); torture_write_file(LIBSSH_RSA_TESTKEY ".pub", torture_get_testkey_pub(SSH_KEYTYPE_RSA, 0)); + torture_write_file(LIBSSH_RSA_TESTKEY ".pub", + torture_get_testkey_pub(SSH_KEYTYPE_RSA, 0)); torture_write_file(LIBSSH_RSA_TESTKEY "-cert.pub", torture_get_testkey_pub(SSH_KEYTYPE_RSA_CERT01, 0)); @@ -48,6 +50,21 @@ static int teardown(void **state) { return 0; } +static void torture_pki_rsa_import_pubkey_file(void **state) +{ + ssh_key pubkey = NULL; + int rc; + + (void)state; + + /* The key doesn't have the hostname as comment after the key */ + rc = ssh_pki_import_pubkey_file(LIBSSH_RSA_TESTKEY ".pub", &pubkey); + assert_return_code(rc, errno); + assert_non_null(pubkey); + + ssh_key_free(pubkey); +} + static void torture_pki_rsa_import_privkey_base64_NULL_key(void **state) { int rc; @@ -546,6 +563,9 @@ static void torture_pki_rsa_import_privkey_base64_passphrase(void **state) int torture_run_tests(void) { int rc; struct CMUnitTest tests[] = { + cmocka_unit_test_setup_teardown(torture_pki_rsa_import_pubkey_file, + setup_rsa_key, + teardown), cmocka_unit_test_setup_teardown(torture_pki_rsa_import_privkey_base64_NULL_key, setup_rsa_key, teardown), |