浏览代码

[media] MEDIA: ttusbir, fix double free

rc_unregister_device already calls rc_free_device to free the passed
device. But in one of ttusbir's probe fail paths, we call
rc_unregister_device _and_ rc_free_device. This is wrong and results
in a double free.
Instead, set rc to NULL resulting in rc_free_device being a noop.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jiri Slaby 12 年之前
父节点
当前提交
a9bd87c232
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/media/rc/ttusbir.c

+ 1 - 0
drivers/media/rc/ttusbir.c

@@ -347,6 +347,7 @@ static int ttusbir_probe(struct usb_interface *intf,
 	return 0;
 	return 0;
 out3:
 out3:
 	rc_unregister_device(rc);
 	rc_unregister_device(rc);
+	rc = NULL;
 out2:
 out2:
 	led_classdev_unregister(&tt->led);
 	led_classdev_unregister(&tt->led);
 out:
 out: