In the fail: block of decode_nal_units, a check as to whether fc->ref is nonzero is used. Before this patch, fc->ref was set to NULL in frame_context_setup. The issue is that, by the time frame_context_setup is called, falliable functions (namely slices_realloc and ff_vvc_decode_frame_ps) have already been called. Therefore, there could arise a situation in which the fc->ref test of decode_nal_units' fail: block is performed while fc->ref has an invalid value. This seems to be particularly prevalent in situations where the FrameContexts are being reused. The patch resolves the issue by moving the assignment of fc->ref to NULL to the very top of decode_nal_units, before any falliable functions are called. Signed-off-by: Frank Plowman <post@frankplowman.com> |
||
|---|---|---|
| .. | ||
| cabac.c | ||
| cabac.h | ||
| ctu.c | ||
| ctu.h | ||
| data.c | ||
| data.h | ||
| dec.c | ||
| dec.h | ||
| dsp.c | ||
| dsp.h | ||
| dsp_template.c | ||
| filter.c | ||
| filter.h | ||
| filter_template.c | ||
| inter.c | ||
| inter.h | ||
| inter_template.c | ||
| intra.c | ||
| intra.h | ||
| intra_template.c | ||
| intra_utils.c | ||
| itx_1d.c | ||
| itx_1d.h | ||
| Makefile | ||
| mvs.c | ||
| mvs.h | ||
| ps.c | ||
| ps.h | ||
| refs.c | ||
| refs.h | ||
| thread.c | ||
| thread.h | ||