diff options
| author | Andrew Dunham <andrew@tailscale.com> | 2026-04-07 20:52:09 +0000 |
|---|---|---|
| committer | Andrew Dunham <andrew@du.nham.ca> | 2026-04-17 11:36:05 -0400 |
| commit | d52ae45e9bafd454b71d7278925410c7a42419f1 (patch) | |
| tree | 9b976629cdccb71b5e404229cf9a206f5b60605b /control/controlhttp/controlhttpserver/controlhttpserver.go | |
| parent | 47ecbe5845b90efc4511f6f9e712aa55bb2b4ec7 (diff) | |
| download | tailscale-d52ae45e9bafd454b71d7278925410c7a42419f1.tar.xz tailscale-d52ae45e9bafd454b71d7278925410c7a42419f1.zip | |
cmd/cloner: deep-clone pointer elements in map-of-slice values
The cloner's codegen for map[K][]*V fields was doing a shallow
append (copying pointer values) instead of cloning each element.
This meant that cloned structs aliased the original's pointed-to
values through the map's slice entries.
Mirror the existing standalone-slice logic that checks
ContainsPointers(sliceType.Elem()) and generates per-element
cloning for pointer, interface, and struct types.
Regenerate net/dns and tailcfg which both had affected
map[...][]*dnstype.Resolver fields.
Fixes #19284
Signed-off-by: Andrew Dunham <andrew@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions
