diff options
author | Kangjie Lu <kjlu@umn.edu> | 2019-03-12 11:33:28 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-05-31 16:43:51 +0300 |
commit | 1413e373fd0fd16519b87969b7c0c2ece070d933 (patch) | |
tree | e095c6fcbdba77e07d12b4920d3489c0f2d3b5a8 /drivers/thunderbolt | |
parent | fad8a67e474468ec9b99a4bebea8cc6165eba897 (diff) | |
download | linux-1413e373fd0fd16519b87969b7c0c2ece070d933.tar.xz |
thunderbolt: property: Fix a NULL pointer dereference
[ Upstream commit 106204b56f60abf1bead7dceb88f2be3e34433da ]
In case kzalloc fails, the fix releases resources and returns
-ENOMEM to avoid the NULL pointer dereference.
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/thunderbolt')
-rw-r--r-- | drivers/thunderbolt/property.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/thunderbolt/property.c b/drivers/thunderbolt/property.c index ead18c532b53..8c077c4f3b5b 100644 --- a/drivers/thunderbolt/property.c +++ b/drivers/thunderbolt/property.c @@ -548,6 +548,11 @@ int tb_property_add_data(struct tb_property_dir *parent, const char *key, property->length = size / 4; property->value.data = kzalloc(size, GFP_KERNEL); + if (!property->value.data) { + kfree(property); + return -ENOMEM; + } + memcpy(property->value.data, buf, buflen); list_add_tail(&property->list, &parent->properties); |