aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2023-12-14 16:41:40 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-12-15 23:17:57 +0000
commit688e0fdf02ae31123c88b2957629f24fa8641fa8 (patch)
tree0e3710817781946a8819b6516064a9588c51c24d /src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp
parent08e62e3ebe95892b2747194c4cede4bcfad4ea9a (diff)
Check if QQuickFileDialogImplPrivate::options is null before deref
A recent fix introduced an unchecked deref of d->options. No problem has been observed, but all other usages in this file are guarded, so avoid introducing a potential crash. Change-Id: I3602808c42094d24ba08d32612af3d3e95e90279 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> (cherry picked from commit 8ba21bb39fdb92de889c3ba5f3bc10428576a5f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d92f73f7684f2965244409f0cd6912fb89721c5b) (cherry picked from commit 8d006425f80aaae1d089bd607a55449ca3ab40a9)
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp')
-rw-r--r--src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp
index 28f311ce9f..5b8affcf1b 100644
--- a/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp
+++ b/src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp
@@ -426,8 +426,9 @@ void QQuickFileDialogImpl::setAcceptLabel(const QString &label)
return;
}
- auto buttonType = d->options->acceptMode() == QFileDialogOptions::AcceptSave
- ? QPlatformDialogHelper::Save : QPlatformDialogHelper::Open;
+ auto buttonType = (d->options && d->options->acceptMode() == QFileDialogOptions::AcceptSave)
+ ? QPlatformDialogHelper::Save
+ : QPlatformDialogHelper::Open;
acceptButton->setText(!label.isEmpty()
? label : QQuickDialogButtonBoxPrivate::buttonText(buttonType));
}