summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorRobert Loehning <robert.loehning@qt.io>2021-01-08 19:21:42 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-11 21:20:42 +0000
commitf2091c95e8969dba8609117c396e713ea62f7761 (patch)
tree1bd81dbf544b624b5ff7cebb6e3e08656678f5a7 /src/network
parentcf5439c59a134de57f47bfa4e310035d9347d62f (diff)
QSslCertificate: Guard against accessing empty QByteArray
Fixes oss-fuzz issue 29276. Change-Id: I57b0c26e5377bd6b82d9f044ae1d1d13acec996a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit ce90248882b73b4b816a8550710279e3e55ab64c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/network')
-rw-r--r--src/network/ssl/qsslcertificate_qt.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/network/ssl/qsslcertificate_qt.cpp b/src/network/ssl/qsslcertificate_qt.cpp
index f17d1500c5..7c050e9c3b 100644
--- a/src/network/ssl/qsslcertificate_qt.cpp
+++ b/src/network/ssl/qsslcertificate_qt.cpp
@@ -311,7 +311,9 @@ bool QSslCertificatePrivate::parse(const QByteArray &data)
if (elem.type() == QAsn1Element::Context0Type) {
QDataStream versionStream(elem.value());
- if (!elem.read(versionStream) || elem.type() != QAsn1Element::IntegerType)
+ if (!elem.read(versionStream)
+ || elem.type() != QAsn1Element::IntegerType
+ || elem.value().isEmpty())
return false;
versionString = QByteArray::number(elem.value().at(0) + 1);