diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-10-30 16:20:04 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-10-30 16:20:04 +0100 |
commit | 28fd04993a64cfc60ac91893ef556fc59277807d (patch) | |
tree | 71402d814abe9838ab5f5eef25a5976210284bb2 | |
parent | db4e96c1d675bbdb2eebb938f49adfb2f9a0eacf (diff) |
fixup! qmi-codegen: validate TLV before really reading it
-rw-r--r-- | build-aux/qmi-codegen/VariableArray.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/build-aux/qmi-codegen/VariableArray.py b/build-aux/qmi-codegen/VariableArray.py index 27e0bd6..f2b122c 100644 --- a/build-aux/qmi-codegen/VariableArray.py +++ b/build-aux/qmi-codegen/VariableArray.py @@ -214,11 +214,21 @@ class VariableArray(Variable): f.write(string.Template(template).substitute(translations)) else: translations['array_size_element_format'] = self.array_size_element.public_format + if self.array_size_element.public_format == 'guint8': + translations['array_size_element_size'] = '1' + elif self.array_size_element.public_format == 'guint16': + translations['array_size_element_size'] = '2' + elif self.array_size_element.public_format == 'guint32': + translations['array_size_element_size'] = '4' + else: + translations['array_size_element_size'] = '0' template = ( '${lp} ${array_size_element_format} ${common_var_prefix}_n_items;\n' '${lp} const guint8 *${common_var_prefix}_aux_buffer = &${buffer_name}[${variable_name}];\n' '${lp} guint16 ${common_var_prefix}_aux_buffer_len = ${buffer_len} - ${variable_name};\n' + '\n' + '${lp} ${variable_name} += ${array_size_element_size};\n' '\n') f.write(string.Template(template).substitute(translations)) |