summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qasn1element.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/ssl/qasn1element.cpp')
-rw-r--r--src/network/ssl/qasn1element.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/network/ssl/qasn1element.cpp b/src/network/ssl/qasn1element.cpp
index d7b6aa8bd6..e8b70a14df 100644
--- a/src/network/ssl/qasn1element.cpp
+++ b/src/network/ssl/qasn1element.cpp
@@ -318,8 +318,9 @@ qint64 QAsn1Element::toInteger(bool *ok) const
return 0;
}
- // NOTE: negative numbers are not handled
- if (mValue.at(0) & 0x80) {
+ // NOTE: - negative numbers are not handled
+ // - greater sizes would overflow
+ if (mValue.at(0) & 0x80 || mValue.size() > 8) {
if (ok)
*ok = false;
return 0;