avcodec/vp9_superframe_bsf: cache packets by creating new references rather than moving them

Should hopefully fix the invalid reads after free introduced in
e1bc3f4396 for all targets.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2017-10-31 20:29:53 -03:00
parent 05d77587cb
commit 7a02b364b6
1 changed files with 3 additions and 1 deletions

View File

@ -147,7 +147,9 @@ static int vp9_superframe_filter(AVBSFContext *ctx, AVPacket *out)
goto done; goto done;
} }
av_packet_move_ref(s->cache[s->n_cache++], in); res = av_packet_ref(s->cache[s->n_cache++], in);
if (res < 0)
goto done;
if (invisible) { if (invisible) {
res = AVERROR(EAGAIN); res = AVERROR(EAGAIN);