|
@@ -367,7 +367,7 @@ fn read_expression(expr: &Expression, state: &mut StateCheck) -> bool {
|
|
|
left.recurse(state, write_expression);
|
|
left.recurse(state, write_expression);
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
- Expression::StorageArrayLength { loc, .. } | Expression::StorageLoad { loc, .. } => {
|
|
|
|
|
|
|
+ Expression::StorageArrayLength { loc, .. } => {
|
|
|
state.data_account |= DataAccountUsage::READ;
|
|
state.data_account |= DataAccountUsage::READ;
|
|
|
state.read(loc);
|
|
state.read(loc);
|
|
|
return false;
|
|
return false;
|
|
@@ -375,12 +375,9 @@ fn read_expression(expr: &Expression, state: &mut StateCheck) -> bool {
|
|
|
Expression::Subscript { loc, array_ty, .. } if array_ty.is_contract_storage() => {
|
|
Expression::Subscript { loc, array_ty, .. } if array_ty.is_contract_storage() => {
|
|
|
state.data_account |= DataAccountUsage::READ;
|
|
state.data_account |= DataAccountUsage::READ;
|
|
|
state.read(loc);
|
|
state.read(loc);
|
|
|
- return false;
|
|
|
|
|
}
|
|
}
|
|
|
- Expression::Variable { ty, .. } => {
|
|
|
|
|
- if ty.is_contract_storage() {
|
|
|
|
|
- state.data_account |= DataAccountUsage::READ;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ Expression::Variable { ty, .. } if ty.is_contract_storage() => {
|
|
|
|
|
+ state.data_account |= DataAccountUsage::READ;
|
|
|
}
|
|
}
|
|
|
Expression::StorageVariable { loc, .. } => {
|
|
Expression::StorageVariable { loc, .. } => {
|
|
|
state.data_account |= DataAccountUsage::READ;
|
|
state.data_account |= DataAccountUsage::READ;
|