bird 1.0.0 bugreport with linux 2.2 and netlink

Andreas Jellinghaus aj at dungeon.inka.de
Sat Jun 17 20:06:52 CEST 2000


obj/lib/krt-scan.h:
#ifdef IPV6
#define NL_NUM_TABLES 1
#else
#define NL_NUM_TABLES 256
#endif

obj/lib/netlink.c:
static struct krt_proto *nl_table_map[NL_NUM_TABLES];

in nl_parse_route:
593       p = nl_table_map[i->rtm_table];       /* Do we know this table? */

gdb:
(gdb) p *i
$1 = {rtm_family = 10 '\n', rtm_dst_len = 128 '\200', rtm_src_len = 0 '\000', 
  rtm_tos = 0 '\000', rtm_table = 254 'þ', rtm_protocol = 3 '\003', 
  rtm_scope = 0 '\000', rtm_type = 2 '\002', rtm_flags = 0}

so rtm_table is 254, nl_table_map lookup gives garbage, bird segfaults.

linux kernel 2.2.16(+raid+nfs), glibc 2.1, debian potato

regards, andreas




More information about the Bird-users mailing list