From a696f19de84eebe242a022b52be6af592a22bf69 Mon Sep 17 00:00:00 2001 From: Paul Colta Date: Thu, 23 Feb 2023 10:44:32 +0100 Subject: [PATCH] Handle portId out of bounds index Bug: 268631136 Test: m && m android.hardware.tv.cec@1.0-impl && m android.hardware.tv.cec@1.0 Change-Id: I454caf56c309aae9667afd0e58da453002458a80 (cherry picked from commit 588b958ce1b50d42581e67a664b32e2f25f37712) --- tv/cec/1.0/default/HdmiCecDefault.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tv/cec/1.0/default/HdmiCecDefault.cpp b/tv/cec/1.0/default/HdmiCecDefault.cpp index 26ccb7d42e..2a5197cb4a 100644 --- a/tv/cec/1.0/default/HdmiCecDefault.cpp +++ b/tv/cec/1.0/default/HdmiCecDefault.cpp @@ -278,6 +278,10 @@ Return HdmiCecDefault::enableAudioReturnChannel(int32_t /*portId*/, bool / Return HdmiCecDefault::isConnected(int32_t portId) { uint16_t addr; + if (portId < 0 || portId >= mHdmiCecPorts.size()) { + LOG(ERROR) << "Port id is out of bounds, portId = " << portId; + return false; + } int ret = ioctl(mHdmiCecPorts[portId]->mCecFd, CEC_ADAP_G_PHYS_ADDR, &addr); if (ret) { LOG(ERROR) << "Is connected failed, Error = " << strerror(errno);