diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2013-04-09 04:44:29 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-14 20:38:05 -0400 |
commit | f73e1851c3e196b7089eb5163a7f6bf491d9b46b (patch) | |
tree | cacdcea9cdaa537d0c87761b803846a2e91ac8f5 /drivers/media/rc | |
parent | 408208fbf289b4384a540ecf9ce1738f5d05b701 (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.c | 1 |
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); |
1108 | exit_unregister_device: | 1108 | exit_unregister_device: |
1109 | rc_unregister_device(rdev); | 1109 | rc_unregister_device(rdev); |
1110 | rdev = NULL; | ||
1110 | exit_free_dev_rdev: | 1111 | exit_free_dev_rdev: |
1111 | rc_free_device(rdev); | 1112 | rc_free_device(rdev); |
1112 | kfree(nvt); | 1113 | kfree(nvt); |