OSDN Git Service

rv34: set mb_num_left to 0 after finishing a frame
authorRonald S. Bultje <rsbultje@gmail.com>
Mon, 26 Mar 2012 22:20:02 +0000 (00:20 +0200)
committerRonald S. Bultje <rsbultje@gmail.com>
Mon, 26 Mar 2012 23:39:01 +0000 (16:39 -0700)
commit5484170ac729d739b2747979408f47bd9aa31c7c
tree7e8dc5fe3de1c12ce660130926603e058040e58c
parent72ccfb3cb7a85d35cfe2c99ab53e981974e599cd
rv34: set mb_num_left to 0 after finishing a frame

Prevents running error resilience on a previous frame which will write
to the pic->mb_type[] array of the previous image. The array might
already be re-used for a new image in a subsequent thread, thus cause
two threads to write to the same pic->mb_type[] array, causing a race
condition which can crash in rv34_decode_cbp(), called by
rv34_decode_inter_mb_header() (which accesses mb_type[] twice,
assuming values are maintained, which the race condition breaks).

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavcodec/rv34.c