summaryrefslogtreecommitdiff
path: root/drivers/base/firmware_class.c
diff options
context:
space:
mode:
authorPrasad Sodagudi <psodagud@codeaurora.org>2017-02-10 10:58:12 -0800
committerPrasad Sodagudi <psodagud@codeaurora.org>2017-02-13 14:23:26 -0800
commita67da1d6f3808ab567082d5401c8c57f099fdb94 (patch)
tree5d0c0786897a5a049e5a0827f677f0790841251b /drivers/base/firmware_class.c
parent3a7e752617514960c5cecdf84e12b13dc63c04c7 (diff)
firmware_class: Add null check in firmware_direct_write
Add null check in firmware_direct_write to avoid null pointer dereference due to firmware_abort. Change-Id: Ibde30452bb6f3fe7a9f92aa3b1f2ed85a858d94e Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r--drivers/base/firmware_class.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 152c81ca50ea..87a48268b663 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -840,7 +840,8 @@ static ssize_t firmware_direct_write(struct file *filp, struct kobject *kobj,
mutex_lock(&fw_lock);
fw = fw_priv->fw;
- if (!fw || test_bit(FW_STATUS_DONE, &fw_priv->buf->status)) {
+ if (!fw || !fw_priv->buf ||
+ test_bit(FW_STATUS_DONE, &fw_priv->buf->status)) {
retval = -ENODEV;
goto out;
}