Commit 1e4891e4 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Nest: Fix bug in device proto

If an interface address notification is received during device protocol
shutdown/restart, BIRD crashed.

Thanks to Wei Huang for the bugreport.
parent fce764f9
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1116,11 +1116,13 @@ nl_async_msg(struct nlmsghdr *h)
    case RTM_NEWLINK:
    case RTM_DELLINK:
      DBG("KRT: Received async link notification (%d)\n", h->nlmsg_type);
      if (kif_proto)
	nl_parse_link(h, 0);
      break;
    case RTM_NEWADDR:
    case RTM_DELADDR:
      DBG("KRT: Received async address notification (%d)\n", h->nlmsg_type);
      if (kif_proto)
	nl_parse_addr(h, 0);
      break;
    default:
+1 −1
Original line number Diff line number Diff line
@@ -84,8 +84,8 @@ krt_io_init(void)
 *	Interfaces
 */

struct kif_proto *kif_proto;
static struct kif_config *kif_cf;
static struct kif_proto *kif_proto;
static timer *kif_scan_timer;
static bird_clock_t kif_last_shot;

+2 −0
Original line number Diff line number Diff line
@@ -112,6 +112,8 @@ struct kif_proto {
  struct kif_state sys;		/* Sysdep state */
};

struct kif_proto *kif_proto;

#define KIF_CF ((struct kif_config *)p->p.cf)

struct proto_config * krt_init_config(int class);