summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/plugin/quuid.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp
index e99f87a86f..63f6e045ea 100644
--- a/src/corelib/plugin/quuid.cpp
+++ b/src/corelib/plugin/quuid.cpp
@@ -341,7 +341,15 @@ QUuid::QUuid(const QString &text)
*/
QUuid::QUuid(const char *text)
{
- *this = QUuid(QString::fromLatin1(text));
+ if (!text) {
+ *this = QUuid();
+ return;
+ }
+
+ if (!_q_uuidFromHex(text, data1, data2, data3, data4)) {
+ *this = QUuid();
+ return;
+ }
}
#endif