From: Lars Op den Kamp Date: Tue, 20 Mar 2012 16:08:28 +0000 (+0100) Subject: cec: fixed possible crash when in CLibCEC::IsLibCECActiveSource() when libCEC doesn... X-Git-Tag: upstream/2.2.0~1^2~31^2~62 X-Git-Url: https://git.piment-noir.org/?p=deb_libcec.git;a=commitdiff_plain;h=a2f4c09c6681de9306f628d725ed3c04210c594a cec: fixed possible crash when in CLibCEC::IsLibCECActiveSource() when libCEC doesn't know which device is the active source. bugzid: 479 --- diff --git a/src/lib/LibCEC.cpp b/src/lib/LibCEC.cpp index aeb16e2..dd8624a 100644 --- a/src/lib/LibCEC.cpp +++ b/src/lib/LibCEC.cpp @@ -614,9 +614,14 @@ void CLibCEC::RescanActiveDevices(void) bool CLibCEC::IsLibCECActiveSource(void) { - return m_cec ? - m_cec->m_busDevices[m_cec->GetActiveSource()]->GetStatus(false) == CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC : - false; + bool bReturn(false); + if (m_cec) + { + cec_logical_address activeSource = m_cec->GetActiveSource(); + if (activeSource != CECDEVICE_UNKNOWN) + bReturn = m_cec->m_busDevices[activeSource]->GetStatus(false) == CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC; + } + return bReturn; } cec_device_type CLibCEC::GetType(cec_logical_address address)