summaryrefslogtreecommitdiffstats
path: root/src/mqtt/qmqttconnection_p.h
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-07-31 11:35:37 +0200
committerhjk <hjk@qt.io>2018-08-01 07:11:13 +0000
commitb8efde173f8ca7598efd1649388a2a2988372352 (patch)
treec85e7a10a17eee09d5a1fa13115574b7f5434e63 /src/mqtt/qmqttconnection_p.h
parent9bdd05636d067e0730249abbb09e0b86f4ab11ad (diff)
Avoid recursion in QMqttConnection::processData
The read buffer may contain a large number of packages, avoid creating stack frames for each. Change-Id: Ie726975c7c1de981ef6fb5c74c8989d38576e73f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/mqtt/qmqttconnection_p.h')
-rw-r--r--src/mqtt/qmqttconnection_p.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mqtt/qmqttconnection_p.h b/src/mqtt/qmqttconnection_p.h
index 179ae57..cc69281 100644
--- a/src/mqtt/qmqttconnection_p.h
+++ b/src/mqtt/qmqttconnection_p.h
@@ -115,6 +115,7 @@ private:
void finalize_pubrel();
void finalize_pingresp();
void processData();
+ bool processDataHelper();
void readBuffer(char *data, quint64 size);
qint32 readVariableByteInteger(qint32 *byteCount = nullptr);
void readConnackProperties();