diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-11-07 12:58:05 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-09 16:14:20 +0000 |
commit | a490a4fcd9e03027ab769bbcf1e3b3f90931872c (patch) | |
tree | 7923a9009738d7aa9d09bd6898befad13a7106f3 | |
parent | 98308b18bb19b45c5b0d6ffa17e3bc5078501596 (diff) | |
download | qtmultimedia-a490a4fcd9e03027ab769bbcf1e3b3f90931872c.tar.gz |
Fix potential crashes if we do not find any audio/video devices
Don't derefence elements in an empty array.
Change-Id: I30d99a95ce9570dc73bf585b1010b8df833f4692
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 6e754229f49e3368394eb545f48ed107d8eaf932)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/multimedia/qmediadevices.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/multimedia/qmediadevices.cpp b/src/multimedia/qmediadevices.cpp index 2d406e1f1..2eb3aa73d 100644 --- a/src/multimedia/qmediadevices.cpp +++ b/src/multimedia/qmediadevices.cpp @@ -199,6 +199,8 @@ QList<QCameraDevice> QMediaDevices::videoInputs() QAudioDevice QMediaDevices::defaultAudioInput() { const auto inputs = audioInputs(); + if (inputs.isEmpty()) + return {}; for (const auto &info : inputs) if (info.isDefault()) return info; @@ -222,6 +224,8 @@ QAudioDevice QMediaDevices::defaultAudioInput() QAudioDevice QMediaDevices::defaultAudioOutput() { const auto outputs = audioOutputs(); + if (outputs.isEmpty()) + return {}; for (const auto &info : outputs) if (info.isDefault()) return info; @@ -253,6 +257,8 @@ QAudioDevice QMediaDevices::defaultAudioOutput() QCameraDevice QMediaDevices::defaultVideoInput() { const auto inputs = videoInputs(); + if (inputs.isEmpty()) + return {}; for (const auto &info : inputs) if (info.isDefault()) return info; |