Skip to content

panic on RuleList with "from 9.9.9.0/24 to 6.6.6.0/24 tun_id 55 lookup 66" #672

@sigmonsays

Description

@sigmonsays

add rule that breaks RuleList()

sudo ip rule add from 9.9.9.0/24 to 6.6.6.0/24 lookup 66 tun_id 55

run code to see panic


u@s1:~/junk$ go mod init example
u@s1:~/junk$ go get github.com/vishvananda/netlink@latest
u@s1:~/junk$ go run main.go
panic: runtime error: index out of range [7] with length 4

goroutine 1 [running]:
encoding/binary.littleEndian.Uint64(...)
        /usr/local/go/src/encoding/binary/binary.go:77
github.com/vishvananda/netlink.(*Handle).RuleList(0x56d670, 0x0, 0x401150, 0x0, 0x0, 0xffffffff, 0xc00008e058)
        /home/u/go/pkg/mod/github.com/vishvananda/netlink@v1.1.0/rule_linux.go:207 +0x9f4
github.com/vishvananda/netlink.RuleList(...)
        /home/u/go/pkg/mod/github.com/vishvananda/netlink@v1.1.0/rule_linux.go:160
main.main()
        /home/u/junk/main.go:10 +0x36
exit status 2

example code

u@s1:~/junk$ cat main.go
package main

import (
        "github.com/vishvananda/netlink"
        "github.com/vishvananda/netlink/nl"
)

func main() {

        netlink.RuleList(nl.FAMILY_ALL)

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions