summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Paul Colta <donpaul@google.com> 2025-02-06 14:53:41 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-02-06 14:53:41 -0800
commit807d9703bc861663ea6f3659bc1763be24496383 (patch)
tree8187a52ea46024b71d409f52d3c6852b6fe52045
parent9165dc2c284d0cb5e239bb39ab3489855cdaf6a3 (diff)
parent2e72d19bc68dbbe2eb26f96983a0f6ed7552c7e6 (diff)
Merge "HDMI: Invalidate physical address 0xFFFF" into main
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java3
-rw-r--r--services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java1
2 files changed, 4 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
index 310f592ddf5c..b298d1c2ac66 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
@@ -390,6 +390,9 @@ public class HdmiCecMessageValidator {
private static boolean isValidPhysicalAddress(byte[] params, int offset) {
int physicalAddress = HdmiUtils.twoBytesToInt(params, offset);
+ if (physicalAddress == 0xFFFF) {
+ return false;
+ }
while (physicalAddress != 0) {
int maskedAddress = physicalAddress & 0xF000;
physicalAddress = (physicalAddress << 4) & 0xFFFF;
diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java
index 587f4370636c..108cd67b3316 100644
--- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java
+++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java
@@ -627,6 +627,7 @@ public class HdmiCecMessageValidatorTest {
assertMessageValidity("4F:81:13:05").isEqualTo(ERROR_PARAMETER);
assertMessageValidity("4F:86:10:14").isEqualTo(ERROR_PARAMETER);
assertMessageValidity("0F:86:10:24").isEqualTo(ERROR_PARAMETER);
+ assertMessageValidity("8F:86:FF:FF").isEqualTo(ERROR_PARAMETER);
}
@Test