summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-04-09 04:44:29 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-14 20:38:05 -0400
commitf73e1851c3e196b7089eb5163a7f6bf491d9b46b (patch)
treecacdcea9cdaa537d0c87761b803846a2e91ac8f5 /drivers/media/rc
parent408208fbf289b4384a540ecf9ce1738f5d05b701 (diff)
[media] rc: nuvoton-cir: fix potential double free in nvt_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>
Diffstat (limited to 'drivers/media/rc')
-rw-r--r--drivers/media/rc/nuvoton-cir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
index 40125d779049..21ee0dc1b7ec 100644
--- a/drivers/media/rc/nuvoton-cir.c
+++ b/drivers/media/rc/nuvoton-cir.c
@@ -1107,6 +1107,7 @@ exit_release_cir_addr:
1107 release_region(nvt->cir_addr, CIR_IOREG_LENGTH); 1107 release_region(nvt->cir_addr, CIR_IOREG_LENGTH);
1108exit_unregister_device: 1108exit_unregister_device:
1109 rc_unregister_device(rdev); 1109 rc_unregister_device(rdev);
1110 rdev = NULL;
1110exit_free_dev_rdev: 1111exit_free_dev_rdev:
1111 rc_free_device(rdev); 1112 rc_free_device(rdev);
1112 kfree(nvt); 1113 kfree(nvt);