-
-
Notifications
You must be signed in to change notification settings - Fork 99
Closed
Description
the dns decoder may panic, if the passed in name only has a single dot (maybe an edge case)
panic: runtime error: slice bounds out of range [1:0] │
goroutine 246 [running]: │
github.com/gopacket/gopacket/layers.(*DNSRRSIG).decode(0xc002807590, {0xc000d54faa, 0x18e, 0x44?}, 0x100000176ba98?) │
/Users/name/go/pkg/mod/github.com/gopacket/gopacket@v1.3.1/layers/dns.go:1267 +0x2d1 │
github.com/gopacket/gopacket/layers.(*DNSResourceRecord).decodeRData(0xc002807438, {0xc000d54faa?, 0x230?, 0x412?}, 0x2?, 0xc00176ba98?) │
/Users/name/go/pkg/mod/github.com/gopacket/gopacket@v1.3.1/layers/dns.go:1060 +0x994 │
github.com/gopacket/gopacket/layers.(*DNSResourceRecord).decode(0xc002807438, {0xc000d54faa, 0x412, 0x412}, 0x30b6f80?, {0xc00176b918?, 0x417245?}, 0xc00176ba98) │
/Users/name/go/pkg/mod/github.com/gopacket/gopacket@v1.3.1/layers/dns.go:753 +0x1f4 │
github.com/gopacket/gopacket/layers.(*DNS).DecodeFromBytes(0xc0018379f0, {0xc000d54faa, 0x412, 0x412}, {0x365c500, 0x6030880}) │
/Users/name/go/pkg/mod/github.com/gopacket/gopacket@v1.3.1/layers/dns.go:377 +0x73b │
github.com/inspektor-gadget/inspektor-gadget/pkg/gadgets/trace/dns/tracer.(*Tracer).parseDNSPacket(0xc00224c7b0, {0xc000d54f00, 0x4bc?, 0x0?}, 0xf0000000) │
/Users/name/go/pkg/mod/github.com/inspektor-gadget/inspektor-gadget@v0.34.0/pkg/gadgets/trace/dns/tracer/tracer.go:156 +0xf3 │
github.com/inspektor-gadget/inspektor-gadget/pkg/networktracer.(*Tracer[...]).listen(0xc00009dfd0, 0x33325f0?, 0xc0012bdab0) │
/Users/name/go/pkg/mod/github.com/inspektor-gadget/inspektor-gadget@v0.34.0/pkg/networktracer/tracer.go:348 +0x1d8 │
created by github.com/inspektor-gadget/inspektor-gadget/pkg/networktracer.(*Tracer[...]).Run in goroutine 1 │
/Users/name/go/pkg/mod/github.com/inspektor-gadget/inspektor-gadget@v0.34.0/pkg/networktracer/tracer.go:251 +0xab5
possible safety check in
https://github.com/gopacket/gopacket/blob/master/layers/dns.go#L1266
if len(rrsig.SignerName) > 1 {
rrsig.SignerName = rrsig.SignerName[1:] // Remove leading '.'
}
may I open a pr?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels