OSDN Git Service

CEC: Validate <Vendor Command> correctly
authorJinsuk Kim <jinsukkim@google.com>
Fri, 16 Oct 2015 06:15:18 +0000 (15:15 +0900)
committerJinsuk Kim <jinsukkim@google.com>
Mon, 9 Nov 2015 19:17:39 +0000 (19:17 +0000)
The command always has one or more bytes for its parameter, so
the right validation should have been the one ensuring the number
of bytes (1 ~ 14).

Bug: 24986703
Change-Id: I171e971f1649761d69ffe2aa0af364f34dc9ac3e
(cherry picked from commit 4808581f4dfdf04adcd2646e152dede0ce418cad)

services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java

index fe50666..8c00be5 100644 (file)
@@ -140,7 +140,7 @@ public final class HdmiCecMessageValidator {
         // Allow unregistered source for all vendor specific commands, because we don't know
         // how to use the commands at this moment.
         addValidationInfo(Constants.MESSAGE_VENDOR_COMMAND,
-                maxLengthValidator, DEST_DIRECT | SRC_UNREGISTERED);
+                new VariableLengthValidator(1, 14), DEST_DIRECT | SRC_UNREGISTERED);
         addValidationInfo(Constants.MESSAGE_VENDOR_COMMAND_WITH_ID,
                 new VariableLengthValidator(4, 14), DEST_ALL | SRC_UNREGISTERED);
         addValidationInfo(Constants.MESSAGE_VENDOR_REMOTE_BUTTON_DOWN,