aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/thunderbolt
diff options
context:
space:
mode:
authorKangjie Lu <kjlu@umn.edu>2019-03-12 03:33:28 -0500
committerMika Westerberg <mika.westerberg@linux.intel.com>2019-03-20 13:37:12 +0300
commit106204b56f60abf1bead7dceb88f2be3e34433da (patch)
tree6ee50978ea524c4ff0b5b0ef25772f93a78a8b35 /drivers/thunderbolt
parentLinux 5.1-rc1 (diff)
downloadlinux-dev-106204b56f60abf1bead7dceb88f2be3e34433da.tar.xz
linux-dev-106204b56f60abf1bead7dceb88f2be3e34433da.zip
thunderbolt: property: Fix a NULL pointer dereference
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>
Diffstat (limited to 'drivers/thunderbolt')
-rw-r--r--drivers/thunderbolt/property.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/thunderbolt/property.c b/drivers/thunderbolt/property.c
index b2f0d6386cee..ee76449524a3 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);