Re: [PATCH 2/2] Input: xpad - sanitize xpad_led_disconnect()

From: Dmitry Torokhov
Date: Wed Dec 01 2010 - 12:11:33 EST


Hi Namhyung,

On Thu, Dec 02, 2010 at 12:04:34AM +0900, Namhyung Kim wrote:
> IMHO kfree() here looks very confusing. xpad_led->name is an array
> of char inside struct xpad_led and is not a dynamic memory itself.
> But kfree() works well because it is a first member of the struct
> so it points start address of the struct and frees the struct.

This has already been fixed in my tree, thanks.

>
> Change it to xpad_led for the correctness & readability and make
> xpad->led NULL for the safety.
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
> Cc: Jan Kratochvil <honza@xxxxxxxx>
> ---
> drivers/input/joystick/xpad.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index f885902..1ca49e8 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -728,7 +728,8 @@ static void xpad_led_disconnect(struct usb_xpad *xpad)
>
> if (xpad_led) {
> led_classdev_unregister(&xpad_led->led_cdev);
> - kfree(xpad_led->name);
> + kfree(xpad_led);
> + xpad->led = NULL;
> }
> }
> #else
> --
> 1.7.0.4
>

--
Dmitry
--
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/