diff mbox series

Input: psmouse - fix psmouse detect function is a NULL pointer

Message ID 20210519032335.19326-1-maqianga@uniontech.com (mailing list archive)
State New
Headers show
Series Input: psmouse - fix psmouse detect function is a NULL pointer | expand

Commit Message

Qiang Ma May 19, 2021, 3:23 a.m. UTC
Add a check for psmouse_do_detect(), when the detect is NULL pointer,
returning false, avoiding this possible NULL pointer exception.

Signed-off-by: Qiang Ma <maqianga@uniontech.com>
---
 drivers/input/mouse/psmouse-base.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Dmitry Torokhov June 2, 2021, 5:13 a.m. UTC | #1
Hi Qiang,

On Wed, May 19, 2021 at 11:23:35AM +0800, Qiang Ma wrote:
> Add a check for psmouse_do_detect(), when the detect is NULL pointer,
> returning false, avoiding this possible NULL pointer exception.
> 
> Signed-off-by: Qiang Ma <maqianga@uniontech.com>
> ---
>  drivers/input/mouse/psmouse-base.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
> index 0b4a3039f312..86b095728587 100644
> --- a/drivers/input/mouse/psmouse-base.c
> +++ b/drivers/input/mouse/psmouse-base.c
> @@ -1006,6 +1006,9 @@ static bool psmouse_do_detect(int (*detect)(struct psmouse *, bool),
>  	if (set_properties)
>  		psmouse_apply_defaults(psmouse);
>  
> +	if (!detect)
> +		return false;

There are no protocols that do not define detect() method, so this
condition is not possible.

> +
>  	return detect(psmouse, set_properties) == 0;
>  }
>  

Thanks.
diff mbox series

Patch

diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 0b4a3039f312..86b095728587 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1006,6 +1006,9 @@  static bool psmouse_do_detect(int (*detect)(struct psmouse *, bool),
 	if (set_properties)
 		psmouse_apply_defaults(psmouse);
 
+	if (!detect)
+		return false;
+
 	return detect(psmouse, set_properties) == 0;
 }