avcodec/parser: Reset *buf_size on realloc failure

Fixes: out of array access
Fixes: crash-0d640731c7da52415670eb47a2af701cbe2e1a3b
Fixes: crash-e745864ead6ea418959c8df56de2765571201dae

Found-by: Catena cyber <contact@catenacyber.fr>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
release/7.0
Reimar Döffinger 10 months ago committed by Michael Niedermayer
parent 384cc270d2
commit 605fc72f19
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
  1. 1
      libavcodec/parser.c

@ -252,6 +252,7 @@ int ff_combine_frame(ParseContext *pc, int next,
AV_INPUT_BUFFER_PADDING_SIZE);
if (!new_buffer) {
av_log(NULL, AV_LOG_ERROR, "Failed to reallocate parser buffer to %d\n", next + pc->index + AV_INPUT_BUFFER_PADDING_SIZE);
*buf_size =
pc->overread_index =
pc->index = 0;
return AVERROR(ENOMEM);

Loading…
Cancel
Save