diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-12-16 14:24:55 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2014-12-20 01:39:33 +0100 |
commit | c70658d301e274c3aaa1fb6cebe2a5e56db12779 (patch) | |
tree | 84dc8c6da6727bf4bff5219b7db33cb0fd488e37 /src/corelib/tools/qbytearray.h | |
parent | 80d0075588aa94e011a394967fb21d8bb0c84781 (diff) |
Make sure we don't try to ask QByteArray to allocate too much
QFile::readAll could be asked to read a file that is over 1 GB in size
and thus cause an assertion:
ASSERT failure in qAllocMore: "Requested size is too large!", ...
The idea behind the existing code was correct, but the value was wrong.
It prevented overflow of the integer size request, but didn't prevent
overflowing the storage size.
Change-Id: I072e6e419f47b639454f3fd96deb0f88d03e960c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/corelib/tools/qbytearray.h')
-rw-r--r-- | src/corelib/tools/qbytearray.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h index f13b1c16cd..3bcc7b1f2a 100644 --- a/src/corelib/tools/qbytearray.h +++ b/src/corelib/tools/qbytearray.h @@ -173,6 +173,9 @@ private: typedef QTypedArrayData<char> Data; public: + // undocumented: + static const quint64 MaxSize = (1 << 30) - sizeof(Data); + enum Base64Option { Base64Encoding = 0, Base64UrlEncoding = 1, |