From 53a16752c257d2f4f99ecef2cde1580b817fc12a Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 27 Jun 2011 13:09:23 +0200 Subject: QStringBuilder: do not crash with null char* This is supported by the others operator+ Change-Id: I9a1d1a0afb63acf32935948111d43ca6da370363 Reviewed-on: http://codereview.qt.nokia.com/764 Reviewed-by: Qt Sanity Bot Reviewed-by: hjk --- src/corelib/tools/qstringbuilder.cpp | 2 ++ src/corelib/tools/qstringbuilder.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'src') diff --git a/src/corelib/tools/qstringbuilder.cpp b/src/corelib/tools/qstringbuilder.cpp index 45de6bc1c3..1cc7e5d2c3 100644 --- a/src/corelib/tools/qstringbuilder.cpp +++ b/src/corelib/tools/qstringbuilder.cpp @@ -162,6 +162,8 @@ void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out } #endif if (len == -1) { + if (!a) + return; while (*a) *out++ = QLatin1Char(*a++); } else { diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h index 709d84a578..594ab2f183 100644 --- a/src/corelib/tools/qstringbuilder.h +++ b/src/corelib/tools/qstringbuilder.h @@ -352,6 +352,8 @@ template <> struct QConcatenable : private QAbstractConcatenable #endif static inline void appendTo(const char *a, char *&out) { + if (!a) + return; while (*a) *out++ = *a++; } -- cgit v1.2.3