QSslCertificate::operator == - cleanup error queue
Another case when an OpenSSL's call can dump some errors into the shared error queue discovered. An invalid certificate with non-null X509 * may result in several errors appended to the queue. Change-Id: I1278b371bd1edf2d656760c371bfb6da5dcab6ec Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 3bc398f76669c2532ae6e3f163f994feb7e6a0bf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
136cbafad5
commit
acf00dd72d
@ -65,10 +65,17 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const
|
||||
{
|
||||
if (d == other.d)
|
||||
return true;
|
||||
|
||||
if (d->null && other.d->null)
|
||||
return true;
|
||||
if (d->x509 && other.d->x509)
|
||||
return q_X509_cmp(d->x509, other.d->x509) == 0;
|
||||
|
||||
if (d->x509 && other.d->x509) {
|
||||
const int ret = q_X509_cmp(d->x509, other.d->x509);
|
||||
if (ret >= -1 && ret <= 1)
|
||||
return ret == 0;
|
||||
QSslSocketBackendPrivate::logAndClearErrorQueue();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user