mirror of
https://github.com/go-delve/delve.git
synced 2025-10-29 01:27:16 +08:00
pkg/proc: pad variable mem in extractVarInfoFromEntry (#3365)
* pkg/proc: pad variable mem in extractVarInfoFromEntry
On 64 bit system, the byte size of the following struct is 16:
type myStruct struct {
a int
b uint32
}
But extractVarInfoFromEntry only allocates a mem of 12 bytes for it.
When calling method of this struct with the "call" command, it will
result in this error:
write out of bounds
This patch extends the mem by adding padding bytes to the end of the
mem.
Fixes #3364.
* move the padding logic into newCompositeMemory
This commit is contained in:
@ -20,7 +20,7 @@ func NewCompositeMemory(p *Target, pieces []op.Piece, base uint64) (*compositeMe
|
||||
dwarfregs := arch.RegistersToDwarfRegisters(0, regs)
|
||||
dwarfregs.ChangeFunc = p.CurrentThread().SetReg
|
||||
|
||||
mem, err := newCompositeMemory(p.Memory(), arch, *dwarfregs, pieces)
|
||||
mem, err := newCompositeMemory(p.Memory(), arch, *dwarfregs, pieces, 0)
|
||||
if mem != nil {
|
||||
mem.base = base
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user