[media] rc: winbond-cir: fix potential double free in wbcir_probe()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Tue, 9 Apr 2013 08:43:33 +0000 (05:43 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 15 Apr 2013 00:37:37 +0000 (21:37 -0300)
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>
drivers/media/rc/winbond-cir.c

index 535a18dccbd08e7652c64936d0c2f9525b4ee772..87af2d3ba601228960b52d4ff87eac51660d6709 100644 (file)
@@ -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: