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

index 40125d77904993bc94e8be3046de1ddca1851f33..21ee0dc1b7ec041826bf7d3dfd7f0634258bf965 100644 (file)
@@ -1107,6 +1107,7 @@ exit_release_cir_addr:
        release_region(nvt->cir_addr, CIR_IOREG_LENGTH);
 exit_unregister_device:
        rc_unregister_device(rdev);
+       rdev = NULL;
 exit_free_dev_rdev:
        rc_free_device(rdev);
        kfree(nvt);