From: Wei Yongjun Date: Tue, 9 Apr 2013 08:43:33 +0000 (-0300) Subject: [media] rc: winbond-cir: fix potential double free in wbcir_probe() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=4ec16da733b81b64e9c7823fd2ea506131013a8f;p=openwrt%2Fstaging%2Fblogic.git [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 Signed-off-by: Mauro Carvalho Chehab --- 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: