diff options
author | Kangjie Lu <kjlu@umn.edu> | 2019-03-12 03:33:28 -0500 |
---|---|---|
committer | Mika Westerberg <mika.westerberg@linux.intel.com> | 2019-03-20 13:37:12 +0300 |
commit | 106204b56f60abf1bead7dceb88f2be3e34433da (patch) | |
tree | 6ee50978ea524c4ff0b5b0ef25772f93a78a8b35 /drivers/thunderbolt | |
parent | 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b (diff) | |
download | linux-106204b56f60abf1bead7dceb88f2be3e34433da.tar.gz linux-106204b56f60abf1bead7dceb88f2be3e34433da.tar.bz2 linux-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.c | 5 |
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); |