|
|
596b45f |
From 5d2be1422e02ccd697ccfcd45c85b4a26e6178e2 Mon Sep 17 00:00:00 2001
|
|
|
596b45f |
From: Kangjie Lu <kangjielu@gmail.com>
|
|
|
596b45f |
Date: Thu, 2 Jun 2016 04:04:56 -0400
|
|
|
596b45f |
Subject: tipc: fix an infoleak in tipc_nl_compat_link_dump
|
|
|
596b45f |
|
|
|
596b45f |
link_info.str is a char array of size 60. Memory after the NULL
|
|
|
596b45f |
byte is not initialized. Sending the whole object out can cause
|
|
|
596b45f |
a leak.
|
|
|
596b45f |
|
|
|
596b45f |
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
|
|
596b45f |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
|
596b45f |
---
|
|
|
596b45f |
net/tipc/netlink_compat.c | 3 ++-
|
|
|
596b45f |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
596b45f |
|
|
|
596b45f |
diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
|
|
|
596b45f |
index f795b1d..3ad9fab 100644
|
|
|
596b45f |
--- a/net/tipc/netlink_compat.c
|
|
|
596b45f |
+++ b/net/tipc/netlink_compat.c
|
|
|
596b45f |
@@ -604,7 +604,8 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
|
|
|
596b45f |
|
|
|
596b45f |
link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
|
|
|
596b45f |
link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
|
|
|
596b45f |
- strcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]));
|
|
|
596b45f |
+ nla_strlcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]),
|
|
|
596b45f |
+ TIPC_MAX_LINK_NAME);
|
|
|
596b45f |
|
|
|
596b45f |
return tipc_add_tlv(msg->rep, TIPC_TLV_LINK_INFO,
|
|
|
596b45f |
&link_info, sizeof(link_info));
|
|
|
596b45f |
--
|
|
|
596b45f |
cgit v0.12
|
|
|
596b45f |
|