diff options
Diffstat (limited to 'net/tipc/link.c')
-rw-r--r-- | net/tipc/link.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index 4aa56e3bf4fc..bcd76b1e440c 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
@@ -442,6 +442,7 @@ bool tipc_link_create(struct net *net, char *if_name, int bearer_id, | |||
442 | struct sk_buff_head *namedq, | 442 | struct sk_buff_head *namedq, |
443 | struct tipc_link **link) | 443 | struct tipc_link **link) |
444 | { | 444 | { |
445 | char *self_str = tipc_own_id_string(net); | ||
445 | struct tipc_link *l; | 446 | struct tipc_link *l; |
446 | 447 | ||
447 | l = kzalloc(sizeof(*l), GFP_ATOMIC); | 448 | l = kzalloc(sizeof(*l), GFP_ATOMIC); |
@@ -451,7 +452,10 @@ bool tipc_link_create(struct net *net, char *if_name, int bearer_id, | |||
451 | l->session = session; | 452 | l->session = session; |
452 | 453 | ||
453 | /* Note: peer i/f name is completed by reset/activate message */ | 454 | /* Note: peer i/f name is completed by reset/activate message */ |
454 | sprintf(l->name, "%x:%s-%x:unknown", self, if_name, peer); | 455 | if (strlen(self_str) > 16) |
456 | sprintf(l->name, "%x:%s-%x:unknown", self, if_name, peer); | ||
457 | else | ||
458 | sprintf(l->name, "%s:%s-%x:unknown", self_str, if_name, peer); | ||
455 | strcpy(l->if_name, if_name); | 459 | strcpy(l->if_name, if_name); |
456 | l->addr = peer; | 460 | l->addr = peer; |
457 | l->peer_caps = peer_caps; | 461 | l->peer_caps = peer_caps; |