summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Kudryavtsev <anton.kudryavtsev@corp.mail.ru>2018-10-15 20:36:06 +0300
committerAnton Kudryavtsev <antkudr@mail.ru>2019-03-16 10:50:21 +0000
commitc0b265662e618f0d953ed2c389bad9f50ac24f7f (patch)
treecb65a5252c3d04087c2d82bcd9561168d0449a45
parent50f3f8f6bb8f5482c713480fad80421760184216 (diff)
QTranslator: avoid unhandled exception
Add std::nothrow param to avoid exception and to check pointer against nullptr. Change-Id: I505abb1ca15b8c10a80b0cd3784a6b0c4c6bcc1c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--src/corelib/kernel/qtranslator.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index 744bbfbff5..929554f6bc 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -72,6 +72,7 @@
#endif
#include <stdlib.h>
+#include <new>
#include "qobject_p.h"
@@ -592,7 +593,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);