From 788612d2efef33aad711646a1ace9dfee6237730 Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Fri, 7 Dec 2018 18:20:35 +0100 Subject: Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses. --- .../syntaxTests/controlFlow/uninitializedAccess/struct.sol | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/struct.sol (limited to 'test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/struct.sol') diff --git a/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/struct.sol b/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/struct.sol new file mode 100644 index 00000000..b4f2be5d --- /dev/null +++ b/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/struct.sol @@ -0,0 +1,11 @@ +contract C { + struct S { uint a; } + S s; + function f() internal returns (S storage r) + { + r.a = 0; + r = s; + } +} +// ---- +// TypeError: (109-110): This variable is of storage pointer type and can be accessed without prior assignment. -- cgit v1.2.3