From: Kangjie Lu Date: Thu, 14 Mar 2019 06:55:31 +0000 (-0500) Subject: thunderbolt: Fix a missing check of kmemdup X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e4dfdd5804cce1255f99c5dd033526a18135a616;p=openwrt%2Fstaging%2Fblogic.git thunderbolt: Fix a missing check of kmemdup kmemdup may fail and return NULL. The fix adds a check and returns NULL in case it fails to avoid NULL pointer dereferecen. Signed-off-by: Kangjie Lu Signed-off-by: Mika Westerberg --- diff --git a/drivers/thunderbolt/property.c b/drivers/thunderbolt/property.c index ee76449524a3..841314deb446 100644 --- a/drivers/thunderbolt/property.c +++ b/drivers/thunderbolt/property.c @@ -176,6 +176,10 @@ static struct tb_property_dir *__tb_property_parse_dir(const u32 *block, } else { dir->uuid = kmemdup(&block[dir_offset], sizeof(*dir->uuid), GFP_KERNEL); + if (!dir->uuid) { + tb_property_free_dir(dir); + return NULL; + } content_offset = dir_offset + 4; content_len = dir_len - 4; /* Length includes UUID */ }