diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-07-27 16:11:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-27 16:11:07 -0700 |
| commit | dfc7493dcb049788b92137ca09b8bd47cee23865 (patch) | |
| tree | dfd6c4da8bc1ff71e0ecc8a1d3a1ac29c433bc64 /src/Module.zig | |
| parent | 90f23e131eadae427c4253fb658002633263b82e (diff) | |
| parent | 793db63746ca044927743ee94405dad2a3f02fb8 (diff) | |
| download | zig-dfc7493dcb049788b92137ca09b8bd47cee23865.tar.gz zig-dfc7493dcb049788b92137ca09b8bd47cee23865.zip | |
Merge pull request #12256 from Vexu/stage2
stage2 typeInfo UAF fix + more
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig index da69dc9781..4576538a35 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -1220,6 +1220,7 @@ pub const Union = struct { }; const node = owner_decl.relativeToNodeIndex(u.node_offset); const node_tags = tree.nodes.items(.tag); + var buf: [2]Ast.Node.Index = undefined; switch (node_tags[node]) { .container_decl, .container_decl_trailing, @@ -1231,6 +1232,15 @@ pub const Union = struct { .container_decl_arg, .container_decl_arg_trailing, => return queryFieldSrc(tree.*, query, file, tree.containerDeclArg(node)), + .tagged_union, + .tagged_union_trailing, + => return queryFieldSrc(tree.*, query, file, tree.taggedUnion(node)), + .tagged_union_two, + .tagged_union_two_trailing, + => return queryFieldSrc(tree.*, query, file, tree.taggedUnionTwo(&buf, node)), + .tagged_union_enum_tag, + .tagged_union_enum_tag_trailing, + => return queryFieldSrc(tree.*, query, file, tree.taggedUnionEnumTag(node)), else => unreachable, } } |
