浏览代码

Merge "soc: soundwire: check for valid pointer before dereference"

qctecmdr 5 年之前
父节点
当前提交
189f783aa9
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      soc/soundwire.c

+ 7 - 3
soc/soundwire.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/kernel.h>
@@ -998,10 +998,14 @@ static int swr_device_match(struct device *dev, struct device_driver *driver)
 	if (!drv)
 		return -EINVAL;
 
-	if (dev->type == &swr_dev_type)
+	if (dev->type == &swr_dev_type) {
 		swr_dev = to_swr_device(dev);
-	else
+		if (!swr_dev)
+			return -EINVAL;
+	} else {
 		return 0;
+	}
+
 	if (drv->id_table)
 		return swr_match(drv->id_table, swr_dev) != NULL;