summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/winbond-cir.c
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-04-09 10:43:33 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-15 02:37:37 +0200
commit4ec16da733b81b64e9c7823fd2ea506131013a8f (patch)
tree1e012f19ca9cb48c35215d0a4e05924ccba63aa9 /drivers/media/rc/winbond-cir.c
parent[media] MAINTAINERS: Mark the SH VOU driver as Odd Fixes (diff)
downloadlinux-4ec16da733b81b64e9c7823fd2ea506131013a8f.tar.xz
linux-4ec16da733b81b64e9c7823fd2ea506131013a8f.zip
[media] rc: winbond-cir: fix potential double free in wbcir_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/winbond-cir.c')
-rw-r--r--drivers/media/rc/winbond-cir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/rc/winbond-cir.c b/drivers/media/rc/winbond-cir.c
index 535a18dccbd0..87af2d3ba601 100644
--- a/drivers/media/rc/winbond-cir.c
+++ b/drivers/media/rc/winbond-cir.c
@@ -1151,6 +1151,7 @@ exit_release_wbase:
release_region(data->wbase, WAKEUP_IOMEM_LEN);
exit_unregister_device:
rc_unregister_device(data->dev);
+ data->dev = NULL;
exit_free_rc:
rc_free_device(data->dev);
exit_unregister_led: