diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2018-04-30 17:58:11 -0700 |
---|---|---|
committer | Matt Ranostay <matt.ranostay@konsulko.com> | 2018-04-30 17:58:20 -0700 |
commit | 57489437e0eb3057d34030325c784d6ac2dbf3fe (patch) | |
tree | 03f264c80e8c8c1018ba65aacbe255903b47e732 /message.cpp | |
parent | 8e97722e96916a8a2f444645bac4a6ea5434c262 (diff) |
libqtappfw: message: fix memory leak with QJsonArray
QJsonArray object was being allocated on the heap and never freed.
Switch to having a m_request member field and confirming it is only
populated with data once.
Change-Id: I60f406eff032650cac878efa7e1db61ee18e2eb2
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'message.cpp')
-rw-r--r-- | message.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/message.cpp b/message.cpp index 95bc586..33211da 100644 --- a/message.cpp +++ b/message.cpp @@ -29,14 +29,18 @@ Message::Message() bool Message::createRequest(QString api, QString verb, QJsonValue parameter) { - QJsonArray *request = new QJsonArray; - request->append(Call); - request->append(9999); - request->append(api + (QString)("/") + verb); - request->append(QJsonValue(parameter)); + if (!m_request.isEmpty()){ + qWarning("Message instance has already been used. Cannot send another request."); + return false; + } + + m_request.append(Call); + m_request.append(9999); + m_request.append(api + (QString)("/") + verb); + m_request.append(QJsonValue(parameter)); QJsonDocument jdoc; - jdoc.setArray(*request); + jdoc.setArray(m_request); m_jdoc = jdoc; m_init = true; |