|
@@ -2306,8 +2306,11 @@ static int link_recv_changeover_msg(struct tipc_link **l_ptr,
|
|
|
struct tipc_msg *tunnel_msg = buf_msg(tunnel_buf);
|
|
|
u32 msg_typ = msg_type(tunnel_msg);
|
|
|
u32 msg_count = msg_msgcnt(tunnel_msg);
|
|
|
+ u32 bearer_id = msg_bearer_id(tunnel_msg);
|
|
|
|
|
|
- dest_link = (*l_ptr)->owner->links[msg_bearer_id(tunnel_msg)];
|
|
|
+ if (bearer_id >= MAX_BEARERS)
|
|
|
+ goto exit;
|
|
|
+ dest_link = (*l_ptr)->owner->links[bearer_id];
|
|
|
if (!dest_link)
|
|
|
goto exit;
|
|
|
if (dest_link == *l_ptr) {
|