summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2019-03-08 21:01:07 +0200
committerJani Nikula <jani.nikula@intel.com>2019-03-08 21:23:42 +0200
commit478615b1edba88559386ba80ccbf0f035f3360a9 (patch)
tree0fde7f35cc61f099db4675293d253ecb47b5ddd2 /tools
parent8a7dc40606dd94661c70f168132379abe450e83f (diff)
tools/intel_vbt_decode: check inconsistent sequence element size
Cross check against the element dumper return value to catch inconsistencies. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_vbt_decode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index f777e102..d80b1dae 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -1286,7 +1286,13 @@ static const uint8_t *dump_sequence(const uint8_t *data, uint8_t seq_version)
operation_size = *data++;
if (mipi_elem_dump) {
+ const uint8_t *next = data + operation_size;
+
data = mipi_elem_dump(data, seq_version);
+
+ if (operation_size && next != data)
+ printf("Error: Inconsistent operation size: %d\n",
+ operation_size);
} else if (operation_size) {
/* We have size, skip. */
data += operation_size;