diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/io/qtemporaryfile.cpp | 4 | ||||
-rw-r--r-- | src/corelib/kernel/qtranslator.cpp | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index 35bb465a04..ced08a9a87 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -908,8 +908,8 @@ QTemporaryFile *QTemporaryFile::createNativeFile(QFile &file) qint64 old_off = 0; if(wasOpen) old_off = file.pos(); - else - file.open(QIODevice::ReadOnly); + else if (!file.open(QIODevice::ReadOnly)) + return nullptr; //dump data QTemporaryFile *ret = new QTemporaryFile; if (ret->open()) { diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp index dc39490ab0..a2111a084f 100644 --- a/src/corelib/kernel/qtranslator.cpp +++ b/src/corelib/kernel/qtranslator.cpp @@ -66,6 +66,7 @@ #endif #include <stdlib.h> +#include <new> #include "qobject_p.h" @@ -585,7 +586,7 @@ bool QTranslatorPrivate::do_load(const QString &realname, const QString &directo #endif // QT_USE_MMAP if (!ok) { - d->unmapPointer = new char[d->unmapLength]; + d->unmapPointer = new (std::nothrow) char[d->unmapLength]; if (d->unmapPointer) { file.seek(0); qint64 readResult = file.read(d->unmapPointer, d->unmapLength); |