QSslCertificate (OpenSSL) use the correct *_free function
When releasing a STACK_OF(GENERAL_NAME). Actually, GENERAL_NAME_free is a special function, not the same as OPENSSL_sk_free. Task-number: QTBUG-57679 Change-Id: I3ed300bb95e8be35bd9cd06b6dbc6e59c7c6a4ee Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>bb10
parent
9f54745362
commit
8d7edf18eb
|
|
@ -209,7 +209,7 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
|
|||
result.insert(QSsl::EmailEntry, altName);
|
||||
}
|
||||
|
||||
q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_OPENSSL_sk_free));
|
||||
q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_GENERAL_NAME_free));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -465,6 +465,7 @@ DEFINEFUNC(int, X509_EXTENSION_get_critical, X509_EXTENSION *a, a, return 0, ret
|
|||
DEFINEFUNC(ASN1_OCTET_STRING *, X509_EXTENSION_get_data, X509_EXTENSION *a, a, return 0, return)
|
||||
DEFINEFUNC(void, BASIC_CONSTRAINTS_free, BASIC_CONSTRAINTS *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, AUTHORITY_KEYID_free, AUTHORITY_KEYID *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, GENERAL_NAME_free, GENERAL_NAME *a, a, return, DUMMYARG)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, const ASN1_STRING *b, b, return 0, return)
|
||||
#else
|
||||
|
|
@ -1185,6 +1186,7 @@ bool q_resolveOpenSslSymbols()
|
|||
RESOLVEFUNC(X509_EXTENSION_get_data)
|
||||
RESOLVEFUNC(BASIC_CONSTRAINTS_free)
|
||||
RESOLVEFUNC(AUTHORITY_KEYID_free)
|
||||
RESOLVEFUNC(GENERAL_NAME_free)
|
||||
RESOLVEFUNC(ASN1_STRING_print)
|
||||
RESOLVEFUNC(X509_check_issued)
|
||||
RESOLVEFUNC(X509_get_issuer_name)
|
||||
|
|
|
|||
|
|
@ -480,6 +480,9 @@ void q_PKCS12_free(PKCS12 *pkcs12);
|
|||
#define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
|
||||
#define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
|
||||
#define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i))
|
||||
|
||||
void q_GENERAL_NAME_free(GENERAL_NAME *a);
|
||||
|
||||
#define q_sk_X509_num(st) q_SKM_sk_num(X509, (st))
|
||||
#define q_sk_X509_value(st, i) q_SKM_sk_value(X509, (st), (i))
|
||||
#define q_sk_SSL_CIPHER_num(st) q_SKM_sk_num(SSL_CIPHER, (st))
|
||||
|
|
|
|||
Loading…
Reference in New Issue