Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=746b31a9d4e08240d267069bcf5084eb7e427ad7
Commit:     746b31a9d4e08240d267069bcf5084eb7e427ad7
Parent:     62aa366d9b0158a81eace3b83e6b027789f7575b
Author:     Andres Salomon <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 17 12:01:30 2008 -0500
Committer:  Dmitry Torokhov <[EMAIL PROTECTED]>
CommitDate: Thu Jan 17 12:01:30 2008 -0500

    Input: psmouse - fix potential memory leak in psmouse_connect()
    
    If we successfully call input_register_device() in psmouse_connect()
    but sysfs_create_group() fails, we'll enter the error path without
    ever having called input_unregister_device() potentially leaking
    memory.
    
    Signed-off-by: Andres Salomon <[EMAIL PROTECTED]>
    Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]>
---
 drivers/input/mouse/psmouse-base.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/input/mouse/psmouse-base.c 
b/drivers/input/mouse/psmouse-base.c
index 21a9c0b..b862825 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1247,6 +1247,8 @@ static int psmouse_connect(struct serio *serio, struct 
serio_driver *drv)
  err_pt_deactivate:
        if (parent && parent->pt_deactivate)
                parent->pt_deactivate(parent);
+       input_unregister_device(psmouse->dev);
+       input_dev = NULL; /* so we don't try to free it below */
  err_protocol_disconnect:
        if (psmouse->disconnect)
                psmouse->disconnect(psmouse);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to