diff --git a/nest/proto.c b/nest/proto.c index c82d1810..496963a3 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -605,6 +605,7 @@ proto_rethink_goal(struct proto *p) { struct proto_config *nc = p->cf_new; DBG("%s has shut down for reconfiguration\n", p->name); + p->cf->proto = NULL; config_del_obstacle(p->cf->global); rem_node(&p->n); rem_node(&p->glob_node); diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index c9f3f279..abc95154 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -1112,7 +1112,7 @@ bgp_do_rx_update(struct bgp_conn *conn, if (conn->state != BS_ESTABLISHED) /* fatal error during decoding */ return; - if (a0 && ! bgp_set_next_hop(p, a0)) + if (a0 && nlri_len && !bgp_set_next_hop(p, a0)) a0 = NULL; last_id = 0;