mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge remote-tracking branch 'saper-github/x509_cert_free_crash'
This commit is contained in:
commit
3799f3116b
@ -522,7 +522,7 @@ test_tortls_x509_cert_free(void *ignored)
|
||||
tor_x509_cert_free(cert);
|
||||
|
||||
cert = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
cert->cert = tor_malloc_zero(sizeof(X509));
|
||||
cert->cert = X509_new();
|
||||
cert->encoded = tor_malloc_zero(1);
|
||||
tor_x509_cert_free(cert);
|
||||
}
|
||||
@ -560,6 +560,15 @@ fixed_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Use only for the matching fake_x509_free() call
|
||||
*/
|
||||
static X509 *
|
||||
fake_x509_malloc(void)
|
||||
{
|
||||
return tor_malloc_zero(sizeof(X509));
|
||||
}
|
||||
|
||||
static void
|
||||
fake_x509_free(X509 *cert)
|
||||
{
|
||||
@ -590,9 +599,9 @@ test_tortls_cert_matches_key(void *ignored)
|
||||
|
||||
tls = tor_malloc_zero(sizeof(tor_tls_t));
|
||||
cert = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
one = tor_malloc_zero(sizeof(X509));
|
||||
one = fake_x509_malloc();
|
||||
one->references = 1;
|
||||
two = tor_malloc_zero(sizeof(X509));
|
||||
two = fake_x509_malloc();
|
||||
two->references = 1;
|
||||
|
||||
res = tor_tls_cert_matches_key(tls, cert);
|
||||
@ -648,7 +657,7 @@ test_tortls_cert_get_key(void *ignored)
|
||||
crypto_pk_t *res = NULL;
|
||||
cert = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
X509 *key = NULL;
|
||||
key = tor_malloc_zero(sizeof(X509));
|
||||
key = fake_x509_malloc();
|
||||
key->references = 1;
|
||||
|
||||
res = tor_tls_cert_get_key(cert);
|
||||
@ -2475,8 +2484,8 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_generate_key_with_bits_result[1] = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = NULL;
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
ret = tor_tls_context_new(NULL, 0, 0, 0);
|
||||
tt_assert(!ret);
|
||||
|
||||
@ -2486,9 +2495,9 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = NULL;
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
ret = tor_tls_context_new(NULL, 0, 0, 0);
|
||||
tt_assert(!ret);
|
||||
|
||||
@ -2498,8 +2507,8 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = NULL;
|
||||
ret = tor_tls_context_new(NULL, 0, 0, 0);
|
||||
tt_assert(!ret);
|
||||
@ -2511,9 +2520,9 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
fixed_tor_x509_cert_new_result_index = 0;
|
||||
fixed_tor_x509_cert_new_result[0] = NULL;
|
||||
fixed_tor_x509_cert_new_result[1] = NULL;
|
||||
@ -2527,9 +2536,9 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
fixed_tor_x509_cert_new_result_index = 0;
|
||||
fixed_tor_x509_cert_new_result[0] = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
fixed_tor_x509_cert_new_result[1] = NULL;
|
||||
@ -2543,9 +2552,9 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
fixed_tor_x509_cert_new_result_index = 0;
|
||||
fixed_tor_x509_cert_new_result[0] = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
fixed_tor_x509_cert_new_result[1] = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
@ -2559,9 +2568,9 @@ test_tortls_context_new(void *ignored)
|
||||
fixed_crypto_pk_new_result[2] = NULL;
|
||||
fixed_crypto_pk_generate_key_with_bits_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result_index = 0;
|
||||
fixed_tor_tls_create_certificate_result[0] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[1] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[2] = tor_malloc_zero(sizeof(X509));
|
||||
fixed_tor_tls_create_certificate_result[0] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[1] = X509_new();
|
||||
fixed_tor_tls_create_certificate_result[2] = X509_new();
|
||||
fixed_tor_x509_cert_new_result_index = 0;
|
||||
fixed_tor_x509_cert_new_result[0] = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
fixed_tor_x509_cert_new_result[1] = tor_malloc_zero(sizeof(tor_x509_cert_t));
|
||||
|
Loading…
Reference in New Issue
Block a user