[media] hdpvr: fix iteration over uninitialized lists in hdpvr_probe()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Wed, 3 Jul 2013 19:17:34 +0000 (16:17 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 3 Sep 2013 12:24:20 +0000 (09:24 -0300)
commit2e923a0527ac439e135b9961e58d3acd876bba10
tree7db98a5de65711cf9f6c6b28f404ab8076d52ba7
parent6ee0faa52676ab648e486afb654fc92313d55943
[media] hdpvr: fix iteration over uninitialized lists in hdpvr_probe()

free_buff_list and rec_buff_list are initialized in the middle of hdpvr_probe(),
but if something bad happens before that, error handling code calls hdpvr_delete(),
which contains iteration over the lists (via hdpvr_free_buffers()).
The patch moves the lists initialization to the beginning and by the way fixes
goto label in error handling of registering videodev.
Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: stable@vger.kernel.org
drivers/media/usb/hdpvr/hdpvr-core.c