From f9e1dd5dcfbfb95b9f21c3d317c7d11fb54a6686 Mon Sep 17 00:00:00 2001 From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com> Date: Fri, 3 Mar 2017 12:02:47 -0500 Subject: [PATCH] manager: prevent nullptr access of audiodriver The rest of the audio api performs this check as well. Change-Id: I31d589f2f634e2044ce1c7ca8ab614b2caef4d7b Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> --- src/manager.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/manager.cpp b/src/manager.cpp index 65a154da7d..c5af7a5eef 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -2229,6 +2229,12 @@ std::vector<std::string> Manager::getAudioOutputDeviceList() { std::lock_guard<std::mutex> lock(pimpl_->audioLayerMutex_); + + if (not pimpl_->audiodriver_) { + RING_ERR("Audio layer not initialized"); + return {}; + } + return pimpl_->audiodriver_->getPlaybackDeviceList(); } @@ -2239,6 +2245,12 @@ std::vector<std::string> Manager::getAudioInputDeviceList() { std::lock_guard<std::mutex> lock(pimpl_->audioLayerMutex_); + + if (not pimpl_->audiodriver_) { + RING_ERR("Audio layer not initialized"); + return {}; + } + return pimpl_->audiodriver_->getCaptureDeviceList(); } @@ -2250,6 +2262,11 @@ Manager::getCurrentAudioDevicesIndex() { std::lock_guard<std::mutex> lock(pimpl_->audioLayerMutex_); + if (not pimpl_->audiodriver_) { + RING_ERR("Audio layer not initialized"); + return {}; + } + std::vector<std::string> v; std::stringstream ssi, sso, ssr; -- GitLab