diff options
-rw-r--r-- | proto/babel/babel.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c index a20bd724..25081c3b 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -1308,9 +1308,10 @@ babel_handle_update(union babel_msg *m, struct babel_iface *ifa) /* * RFC section 3.8.2.2 - Dealing with unfeasible updates. Generate a one-off - * (not retransmitted) unicast seqno request to the originator of this update + * (not retransmitted) unicast seqno request to the originator of this update. + * Note: !feasible -> s exists, check for 's' is just for clarity / safety. */ - if (!feasible && (metric != BABEL_INFINITY) && + if (!feasible && s && (metric != BABEL_INFINITY) && (!best || (r == best) || (metric < best->metric))) babel_generate_seqno_request(p, e, s->router_id, s->seqno + 1, nbr); |