contract foo {
struct test_stru {
uint256 a;
uint256 b;
}
test_stru storage_struct;
function bar(int256[] calldata vl) public pure {
test_stru storage tts = storage_struct;
assembly {
// 'a' contains vl memory address
let a := vl.offset
// 'b' contains vl length
let b := vl.length
// This will change the reference of vl
vl.offset := 5
}
// Any usage of vl here may crash the program
}
}