From 3ca99e372ba7f423616a66fc481dd263f942f6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikl=C3=B3s=20M=C3=A1rton?= Date: Wed, 8 Jan 2020 07:59:56 +0100 Subject: [PATCH] When specifying empty condition in the where condition the code pointed (#61) to uninitialized memory in the conditionalphrase.cpp 115 line. This patch fixes it. --- src/phrases/conditionalphrase.cpp | 3 ++- src/phrases/conditionalphrase.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/phrases/conditionalphrase.cpp b/src/phrases/conditionalphrase.cpp index ec210b6..6201762 100644 --- a/src/phrases/conditionalphrase.cpp +++ b/src/phrases/conditionalphrase.cpp @@ -112,7 +112,8 @@ ConditionalPhrase::~ConditionalPhrase() ConditionalPhrase &ConditionalPhrase::operator =(const ConditionalPhrase &other) { data = other.data; - data->parents++; + if (data) + data->parents++; return *this; } diff --git a/src/phrases/conditionalphrase.h b/src/phrases/conditionalphrase.h index 0902693..8f7f9a5 100644 --- a/src/phrases/conditionalphrase.h +++ b/src/phrases/conditionalphrase.h @@ -36,7 +36,7 @@ ConditionalPhrase operator op(const QVariant &other) \ class NUT_EXPORT ConditionalPhrase { public: - PhraseData *data; + PhraseData *data = nullptr; // QSharedPointer leftDataPointer; // QSharedPointer rightDataPointer; ConditionalPhrase();