aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2006-06-26 02:50:30 -0400
committerDavid S. Miller <davem@davemloft.net>2006-06-26 02:50:30 -0400
commitc33d53b23589d9133af85effefbaa619853eb7f0 (patch)
tree8680ad82411d2dac96374e9133ce4c266a5322ae /net
parenta75bf874278d8318ffe11043f3acb9b281fa911a (diff)
[TIPC]: Fixed memory leak in tipc_link_send() when destination is unreachable
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>
Diffstat (limited to 'net')
-rw-r--r--net/tipc/link.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c
index ba7d3f19be12..ff40c9195fef 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1135,9 +1135,13 @@ int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
1135 if (n_ptr) { 1135 if (n_ptr) {
1136 tipc_node_lock(n_ptr); 1136 tipc_node_lock(n_ptr);
1137 l_ptr = n_ptr->active_links[selector & 1]; 1137 l_ptr = n_ptr->active_links[selector & 1];
1138 dbg("tipc_link_send: found link %x for dest %x\n", l_ptr, dest);
1139 if (l_ptr) { 1138 if (l_ptr) {
1139 dbg("tipc_link_send: found link %x for dest %x\n", l_ptr, dest);
1140 res = tipc_link_send_buf(l_ptr, buf); 1140 res = tipc_link_send_buf(l_ptr, buf);
1141 } else {
1142 dbg("Attempt to send msg to unreachable node:\n");
1143 msg_dbg(buf_msg(buf),">>>");
1144 buf_discard(buf);
1141 } 1145 }
1142 tipc_node_unlock(n_ptr); 1146 tipc_node_unlock(n_ptr);
1143 } else { 1147 } else {