aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-04-09 04:47:42 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-14 20:38:17 -0400
commitdbcd371b46a16a81a9975b57a11b61bbc2ba81e4 (patch)
treefbb5a2bfbba2c21260ada3a8aa377b05d0edbd81
parentf73e1851c3e196b7089eb5163a7f6bf491d9b46b (diff)
[media] rc: ene_ir: fix potential double free in ene_probe()
Since rc_unregister_device() frees its argument, the subsequently call to rc_free_device() on the same variable will cause a double free bug. Fix by set argument to NULL, thus when fall through to rc_free_device(), nothing will be done there. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/rc/ene_ir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c
index ee6c984cade2..ed184f68c17c 100644
--- a/drivers/media/rc/ene_ir.c
+++ b/drivers/media/rc/ene_ir.c
@@ -1098,6 +1098,7 @@ exit_release_hw_io:
1098 release_region(dev->hw_io, ENE_IO_SIZE); 1098 release_region(dev->hw_io, ENE_IO_SIZE);
1099exit_unregister_device: 1099exit_unregister_device:
1100 rc_unregister_device(rdev); 1100 rc_unregister_device(rdev);
1101 rdev = NULL;
1101exit_free_dev_rdev: 1102exit_free_dev_rdev:
1102 rc_free_device(rdev); 1103 rc_free_device(rdev);
1103 kfree(dev); 1104 kfree(dev);