V4L/DVB (11515): drivers/media/video/saa5249.c: fix use-after-free and leak

I moved the kfree() down a couple lines. t->vdev is going to be in freed
memory so there is no point setting it to NULL. I added a kfree(t) on a

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by Dan Carpenter and committed by Mauro Carvalho Chehab 5b83cfa9 3964b58a

+2 -2
+2 -2
drivers/media/video/saa5249.c
··· 598 /* Now create a video4linux device */ 599 t->vdev = video_device_alloc(); 600 if (t->vdev == NULL) { 601 kfree(client); 602 return -ENOMEM; 603 } ··· 618 /* Register it */ 619 err = video_register_device(t->vdev, VFL_TYPE_VTX, -1); 620 if (err < 0) { 621 - kfree(t); 622 video_device_release(t->vdev); 623 - t->vdev = NULL; 624 return err; 625 } 626 return 0;
··· 598 /* Now create a video4linux device */ 599 t->vdev = video_device_alloc(); 600 if (t->vdev == NULL) { 601 + kfree(t); 602 kfree(client); 603 return -ENOMEM; 604 } ··· 617 /* Register it */ 618 err = video_register_device(t->vdev, VFL_TYPE_VTX, -1); 619 if (err < 0) { 620 video_device_release(t->vdev); 621 + kfree(t); 622 return err; 623 } 624 return 0;