summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qbytearray.cpp
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-07-09 11:03:54 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-07-09 11:03:54 (GMT)
commit8bc84e2180e1d5819b372f4cd8c236b853145803 (patch)
tree6c5e6a8b6a1750e2484fd34f48be662fcf51959f /src/corelib/tools/qbytearray.cpp
parentd641198fa71fadd243e84dfdf02b9a0536a27b3f (diff)
parent3b1e30bb1d6651a626aba1f6b8883f5524598ed3 (diff)
downloadQt-8bc84e2180e1d5819b372f4cd8c236b853145803.zip
Qt-8bc84e2180e1d5819b372f4cd8c236b853145803.tar.gz
Qt-8bc84e2180e1d5819b372f4cd8c236b853145803.tar.bz2
Merge commit 'origin/master' into 4.6-merged
Conflicts: src/corelib/kernel/qcoreevent.cpp src/corelib/tools/qdumper.cpp src/gui/kernel/qwidget.cpp src/gui/kernel/qwidget_p.h src/gui/kernel/qwidget_s60.cpp src/gui/text/qfontdatabase.cpp src/network/access/qnetworkreplyimpl.cpp src/sql/drivers/ibase/qsql_ibase.cpp src/testlib/qtestcase.cpp src/testlib/testlib.pro tests/auto/network-settings.h tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp tests/auto/qobjectrace/tst_qobjectrace.cpp tests/auto/qsqldatabase/tst_qsqldatabase.cpp tools/configure/configureapp.cpp translations/qt_ru.ts
Diffstat (limited to 'src/corelib/tools/qbytearray.cpp')
-rw-r--r--src/corelib/tools/qbytearray.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index e447985..22cee0e 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -538,9 +538,13 @@ QByteArray qUncompress(const uchar* data, int nbytes)
QByteArray baunzip;
int res;
do {
- baunzip.resize(len);
- res = ::uncompress((uchar*)baunzip.data(), &len,
- (uchar*)data+4, nbytes-4);
+ QT_TRY {
+ baunzip.resize(len);
+ res = ::uncompress((uchar*)baunzip.data(), &len,
+ (uchar*)data+4, nbytes-4);
+ } QT_CATCH (const std::bad_alloc &) {
+ res = Z_MEM_ERROR;
+ }
switch (res) {
case Z_OK: