diff options
author | Liang Qi <liang.qi@qt.io> | 2016-11-25 14:39:51 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-11-25 14:41:29 +0100 |
commit | bce25a6340309938e06222663c2c7758bafab6e2 (patch) | |
tree | 1d36c82ff345a54abc23ea24904712650fd7cc86 /src/corelib/json | |
parent | 8a2f5445231fc871a9fd88dec5569deb3104983d (diff) | |
parent | 50aeedd86ce0244fbb77ebefdce8da72db881e45 (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
src/gui/painting/qcoregraphics.mm
src/gui/painting/qcoregraphics_p.h
src/plugins/platforms/cocoa/qcocoahelpers.h
src/plugins/platforms/cocoa/qcocoahelpers.mm
Change-Id: Ibe5efcae73526b3d3931ed22730b13d372dcf54e
Diffstat (limited to 'src/corelib/json')
-rw-r--r-- | src/corelib/json/qjsonparser.cpp | 5 | ||||
-rw-r--r-- | src/corelib/json/qjsonparser_p.h | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/json/qjsonparser.cpp b/src/corelib/json/qjsonparser.cpp index 0eb0d21ecf..39738b90a8 100644 --- a/src/corelib/json/qjsonparser.cpp +++ b/src/corelib/json/qjsonparser.cpp @@ -500,9 +500,10 @@ namespace { memcpy(newValues, data, size*sizeof(QJsonPrivate::Value)); data = newValues; } else { - data = static_cast<QJsonPrivate::Value *>(realloc(data, alloc*sizeof(QJsonPrivate::Value))); - if (!data) + void *newValues = realloc(data, alloc * sizeof(QJsonPrivate::Value)); + if (!newValues) return false; + data = static_cast<QJsonPrivate::Value *>(newValues); } return true; } diff --git a/src/corelib/json/qjsonparser_p.h b/src/corelib/json/qjsonparser_p.h index afa2c1a8cf..379256847f 100644 --- a/src/corelib/json/qjsonparser_p.h +++ b/src/corelib/json/qjsonparser_p.h @@ -108,11 +108,12 @@ private: inline int reserveSpace(int space) { if (current + space >= dataLength) { dataLength = 2*dataLength + space; - data = (char *)realloc(data, dataLength); - if (!data) { + char *newData = (char *)realloc(data, dataLength); + if (!newData) { lastError = QJsonParseError::DocumentTooLarge; return -1; } + data = newData; } int pos = current; current += space; |