mirror of
https://github.com/go-delve/delve.git
synced 2025-11-02 21:40:22 +08:00
fix: LoadAbstractOriginAndSpecification infinite loop caused by abstract origin point to itself. (#3767)
This commit is contained in:
@ -40,7 +40,7 @@ func (ce compositeEntry) AttrField(a dwarf.Attr) *dwarf.Field {
|
||||
// DWARF standard is unclear on how this should be handled
|
||||
func LoadAbstractOriginAndSpecification(entry *dwarf.Entry, aordr *dwarf.Reader) (Entry, dwarf.Offset) {
|
||||
ao, ok := getAbstractOriginOrSpecification(entry)
|
||||
if !ok {
|
||||
if !ok || ao == entry.Offset {
|
||||
return entry, entry.Offset
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ func LoadAbstractOriginAndSpecification(entry *dwarf.Entry, aordr *dwarf.Reader)
|
||||
r = append(r, e)
|
||||
|
||||
ao, ok = getAbstractOriginOrSpecification(e)
|
||||
if !ok {
|
||||
if !ok || ao == entry.Offset {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user