gVal
launderpkg.Object- OID
- 022cef…3b3d:20
gVal details
gPtr
*launderpkg.Object- OID
- 022cef…3b3d:21
gPtr details
gImm
*launderpkg.Immutable- OID
- 022cef…3b3d:23
gImm details
gBuf
[]uint8- OID
- 022cef…3b3d:25
gBuf details
init.4
func()- OID
- 022cef…3b3d:8
init.4 details
GetVal
func() launderpkg.ObjectGetVal returns g by VALUE (caller gets a copy).
- OID
- 022cef…3b3d:10
GetVal details
GetPtr
func() *launderpkg.ObjectGetPtr returns the pointer to gPtr's underlying Object. The returned pointer aliases the victim's persisted state.
- OID
- 022cef…3b3d:11
GetPtr details
GetValAddr
func() *launderpkg.ObjectGetValAddr returns &gVal — a pointer to the value-typed slot. The returned pointer aliases the victim's persisted state.
- OID
- 022cef…3b3d:12
GetValAddr details
GetImm
func() *launderpkg.ImmutableGetImm returns the pointer to gImm — a \*Immutable, which has no mutator method in /p/launderpkg. Victim's intent: callers can read but not write.
- OID
- 022cef…3b3d:13
GetImm details
GetBuf
func() []uint8GetBuf returns the victim's own byte buffer. The returned slice aliases the victim's persisted backing array (/r/laundervictim-stamped).
- OID
- 022cef…3b3d:14
GetBuf details
ReadVal
func() stringReadVal / ReadPtr / ReadImm / ReadBuf report the current values for after-attack verification.
- OID
- 022cef…3b3d:15
ReadVal details
ReadPtr
func() string- OID
- 022cef…3b3d:16
ReadPtr details
ReadImm
func() string- OID
- 022cef…3b3d:17
ReadImm details
ReadBuf
func() string- OID
- 022cef…3b3d:18
ReadBuf details
Exploiter
typeExploiter is the interface the victim accepts. The attacker supplies an implementation; the victim invokes Something(g) passing its own g. This is the "victim hands attacker the data" vector.
Value
laundervictim.Exploiter
Invoke
func(e laundervictim.Exploiter)Invoke calls the attacker's methods passing the victim's g by both value and by pointer.
- OID
- 022cef…3b3d:19