mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-07 00:59:06 +00:00
Input: iqs7222 - avoid dereferencing a NULL pointer
Select callers of iqs7222_parse_props() do not expect a child node
to be derived and returned via pointer. As such, these callers set
**child_node to NULL. However, this pointer is dereferenced in all
cases.
To solve this problem, dereference the pointer only for cases that
expect a child node in the first place. In these cases, the caller
provides a valid pointer.
Fixes: e505edaedc
("Input: add support for Azoteq IQS7222A/B/C")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jeff LaBundy <jeff@labundy.com>
Link: https://lore.kernel.org/r/20220417214132.497487-1-jeff@labundy.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
eba697b3c3
commit
66ab05c756
1 changed files with 3 additions and 2 deletions
|
@ -1534,8 +1534,8 @@ static int iqs7222_parse_props(struct iqs7222_private *iqs7222,
|
||||||
enum iqs7222_reg_key_id reg_key)
|
enum iqs7222_reg_key_id reg_key)
|
||||||
{
|
{
|
||||||
u16 *setup = iqs7222_setup(iqs7222, reg_grp, child_index);
|
u16 *setup = iqs7222_setup(iqs7222, reg_grp, child_index);
|
||||||
struct fwnode_handle *reg_grp_node = *child_node;
|
|
||||||
struct i2c_client *client = iqs7222->client;
|
struct i2c_client *client = iqs7222->client;
|
||||||
|
struct fwnode_handle *reg_grp_node;
|
||||||
char reg_grp_name[16];
|
char reg_grp_name[16];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1550,7 +1550,8 @@ static int iqs7222_parse_props(struct iqs7222_private *iqs7222,
|
||||||
* for additional group-specific processing. In some cases, the
|
* for additional group-specific processing. In some cases, the
|
||||||
* child node may have already been derived.
|
* child node may have already been derived.
|
||||||
*/
|
*/
|
||||||
if (*child_node)
|
reg_grp_node = *child_node;
|
||||||
|
if (reg_grp_node)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
snprintf(reg_grp_name, sizeof(reg_grp_name), "%s-%d",
|
snprintf(reg_grp_name, sizeof(reg_grp_name), "%s-%d",
|
||||||
|
|
Loading…
Reference in a new issue