Commit 1838a720 authored by Ken Rockot's avatar Ken Rockot Committed by Commit Bot

Fix versioned struct decode in old Mojo JS

This ensures that JS doesn't attempt to decode optional MinVersion'd
fields in structs received with a lower version number.

Fixed: 1063092,b:151950986
Change-Id: Id7e4d2c5ce2d355a6e87a38d729025929c42008f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2110670
Auto-Submit: Ken Rockot <rockot@google.com>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751866}
parent 56eef145
...@@ -140,7 +140,17 @@ ...@@ -140,7 +140,17 @@
{%- endfor %} {%- endfor %}
{%- else %} {%- else %}
{%- for packed_field in byte.packed_fields %} {%- for packed_field in byte.packed_fields %}
val.{{packed_field.field.name}} = decoder.{{packed_field.field.kind|decode_snippet}}; {%- if packed_field.min_version > 0 %}
if (version >= {{packed_field.min_version}}) {
val.{{packed_field.field.name}} =
decoder.{{packed_field.field.kind|decode_snippet}};
} else {
val.{{packed_field.field.name}} = null;
}
{%- else %}
val.{{packed_field.field.name}} =
decoder.{{packed_field.field.kind|decode_snippet}};
{%- endif %}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- if byte.is_padding %} {%- if byte.is_padding %}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment