浏览代码

ppdev: fix memory leak

The variable name was only released if parport_register_dev_model()
fails. Now that we are using the device-model the parport driver
will duplicate the name and use it. So we can release the variable
after the device has been registered with the parport.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sudip Mukherjee 8 年之前
父节点
当前提交
2bd362d5f4
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/char/ppdev.c

+ 1 - 1
drivers/char/ppdev.c

@@ -305,10 +305,10 @@ static int register_device(int minor, struct pp_struct *pp)
 	ppdev_cb.private = pp;
 	pdev = parport_register_dev_model(port, name, &ppdev_cb, minor);
 	parport_put_port(port);
+	kfree(name);
 
 	if (!pdev) {
 		printk(KERN_WARNING "%s: failed to register device!\n", name);
-		kfree(name);
 		return -ENXIO;
 	}