summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-04-07 15:21:56 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-04-07 15:21:56 +0300
commite89a6f03c4d24f18db36a906a7320035388504ba (patch)
tree47f7edb9faa26f6f4e2d3f2eea12133933d86e45 /src/network
parentc8989ca20fa5798f7853f07df6e150cc407c64a4 (diff)
parent69b8ab23c93785dc69ae43ea04d5620656a4af44 (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.4' into tqtc/lts-5.15-opensource
Diffstat (limited to 'src/network')
-rw-r--r--src/network/socket/qlocalsocket_win.cpp7
-rw-r--r--src/network/ssl/qasn1element.cpp5
2 files changed, 5 insertions, 7 deletions
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index 6d82656583..2599a38a36 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -255,13 +255,10 @@ void QLocalSocketPrivate::_q_pipeClosed()
emit q->disconnected();
pipeReader->stop();
+ delete pipeWriter;
+ pipeWriter = nullptr;
destroyPipeHandles();
handle = INVALID_HANDLE_VALUE;
-
- if (pipeWriter) {
- delete pipeWriter;
- pipeWriter = 0;
- }
}
qint64 QLocalSocket::bytesAvailable() const
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;