summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2018-10-20 17:28:18 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2018-10-21 11:46:20 +0000
commitc6c31b14a73674459eb5e762bb7487900b8c4b36 (patch)
tree98c21a23c0797308060d175f5cd2d584423d31e3
parent9ef793ba9539b4eddb7893c0df9be6e211d9984f (diff)
qjson: add missed Q_CHECK_PTRv5.12.0-beta3
There might be dereferencing of a potential null pointer 'h' Task-number: QTBUG-71156 Change-Id: I63c34f8cba3e358f109d70ff9b34199c31895202 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
-rw-r--r--src/corelib/serialization/qjson.cpp1
-rw-r--r--src/corelib/serialization/qjsonparser.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/serialization/qjson.cpp b/src/corelib/serialization/qjson.cpp
index b82923fe0c..d74ffb2a20 100644
--- a/src/corelib/serialization/qjson.cpp
+++ b/src/corelib/serialization/qjson.cpp
@@ -70,6 +70,7 @@ void Data::compact()
int size = sizeof(Base) + reserve + base->length*sizeof(offset);
int alloc = sizeof(Header) + size;
Header *h = (Header *) malloc(alloc);
+ Q_CHECK_PTR(h);
h->tag = QJsonDocument::BinaryFormatTag;
h->version = 1;
Base *b = h->root();
diff --git a/src/corelib/serialization/qjsonparser.cpp b/src/corelib/serialization/qjsonparser.cpp
index 39738b90a8..bfba95520e 100644
--- a/src/corelib/serialization/qjsonparser.cpp
+++ b/src/corelib/serialization/qjsonparser.cpp
@@ -304,6 +304,7 @@ QJsonDocument Parser::parse(QJsonParseError *error)
// allocate some space
dataLength = qMax(end - json, (ptrdiff_t) 256);
data = (char *)malloc(dataLength);
+ Q_CHECK_PTR(data);
// fill in Header data
QJsonPrivate::Header *h = (QJsonPrivate::Header *)data;