From c9f52bd651a11ddaf69128bb41a6bed2365d4938 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Thu, 13 Jan 2022 14:27:39 -0500 Subject: [PATCH] validate: check global var type to be in range --- src/valid/interface.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/valid/interface.rs b/src/valid/interface.rs index 72c6561abd..5665afaced 100644 --- a/src/valid/interface.rs +++ b/src/valid/interface.rs @@ -332,7 +332,10 @@ impl super::Validator { use super::TypeFlags; log::debug!("var {:?}", var); - let type_info = &self.types[var.ty.index()]; + let type_info = self + .types + .get(var.ty.index()) + .ok_or(GlobalVariableError::InvalidType)?; let (required_type_flags, is_resource) = match var.class { crate::StorageClass::Function => return Err(GlobalVariableError::InvalidUsage),