Fix a ubsan complaint "applying zero offset to null pointer" (#3160)
Set a type's `result_ref_type_maps` only when `ref_type_map_count > 0`.
This commit is contained in:
@ -1568,8 +1568,10 @@ resolve_func_type(const uint8 **p_buf, const uint8 *buf_end, WASMModule *module,
|
|||||||
type->param_count = param_count;
|
type->param_count = param_count;
|
||||||
type->result_count = result_count;
|
type->result_count = result_count;
|
||||||
type->ref_type_map_count = ref_type_map_count;
|
type->ref_type_map_count = ref_type_map_count;
|
||||||
type->result_ref_type_maps =
|
if (ref_type_map_count > 0) {
|
||||||
type->ref_type_maps + ref_type_map_count - result_ref_type_map_count;
|
type->result_ref_type_maps = type->ref_type_maps + ref_type_map_count
|
||||||
|
- result_ref_type_map_count;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < param_count; i++) {
|
for (i = 0; i < param_count; i++) {
|
||||||
if (!resolve_value_type(&p, p_end, module, &need_ref_type_map,
|
if (!resolve_value_type(&p, p_end, module, &need_ref_type_map,
|
||||||
|
|||||||
Reference in New Issue
Block a user