[TIPC]: Fixed memory leak in tipc_link_send() when destination is unreachable
authorAllan Stephens <allan.stephens@windriver.com>
Mon, 26 Jun 2006 06:50:30 +0000 (23:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Jun 2006 06:50:30 +0000 (23:50 -0700)
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c

index ba7d3f19be12e4e5964e60d7cf1ad61ad1643fd6..ff40c9195fef23407673d2fc19612f39cd62d4f7 100644 (file)
@@ -1135,9 +1135,13 @@ int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
        if (n_ptr) {
                tipc_node_lock(n_ptr);
                l_ptr = n_ptr->active_links[selector & 1];
-               dbg("tipc_link_send: found link %x for dest %x\n", l_ptr, dest);
                if (l_ptr) {
+                       dbg("tipc_link_send: found link %x for dest %x\n", l_ptr, dest);
                        res = tipc_link_send_buf(l_ptr, buf);
+               } else {
+                       dbg("Attempt to send msg to unreachable node:\n");
+                       msg_dbg(buf_msg(buf),">>>");
+                       buf_discard(buf);
                }
                tipc_node_unlock(n_ptr);
        } else {