[patch] fix NULL pointer deference in ALPS

From: Benoit Boissinot
Date: Mon Mar 07 2005 - 07:27:18 EST


I get a NULL pointer deference in with alps while suspending.

The following patch fixes it: alps_get_model returns a pointer or
NULL in case of errors, so we need to check for the results being NULL,
not negative.

Since it is trivial, it is maybe a candidate for 2.6.11.2.

It does not apply to -mm since the last occurence of alps_get_model
was corrected (but not the others), if needed i can send a patch for
-mm as well.

regards,

Benoit

Signed-off-by: Benoit Boissinot <benoit.boissinot@xxxxxxxxxxxx>


--- linux-clean/drivers/input/mouse/alps.c 2005-03-07 12:45:46.000000000 +0100
+++ linux-vanilla/drivers/input/mouse/alps.c 2005-03-07 12:50:12.000000000 +0100
@@ -325,7 +325,7 @@ static int alps_reconnect(struct psmouse
int model;
unsigned char param[4];

- if ((model = alps_get_model(psmouse)) < 0)
+ if (!(model = alps_get_model(psmouse)))
return -1;

if (model == ALPS_MODEL_DUALPOINT && alps_passthrough_mode(psmouse, 1))
@@ -358,7 +358,7 @@ int alps_init(struct psmouse *psmouse)
unsigned char param[4];
int model;

- if ((model = alps_get_model(psmouse)) < 0)
+ if (!(model = alps_get_model(psmouse)))
return -1;

printk(KERN_INFO "ALPS Touchpad (%s) detected\n",
@@ -412,7 +412,7 @@ int alps_init(struct psmouse *psmouse)

int alps_detect(struct psmouse *psmouse, int set_properties)
{
- if (alps_get_model(psmouse) < 0)
+ if (!alps_get_model(psmouse))
return -1;

if (set_properties) {

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/