diff options
| author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2023-12-14 16:41:40 +0100 |
|---|---|---|
| committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-12-15 23:17:57 +0000 |
| commit | 688e0fdf02ae31123c88b2957629f24fa8641fa8 (patch) | |
| tree | 0e3710817781946a8819b6516064a9588c51c24d /src/quickdialogs/quickdialogsquickimpl/qquickfiledialogimpl.cpp | |
| parent | 08e62e3ebe95892b2747194c4cede4bcfad4ea9a (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.cpp | 5 |
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)); } |
