mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
avcodec/flashsvenc: Change check for first frame
AVCodecContext.frame_number is actually only incremented in case encoding was successfull; if e.g. the ff_alloc_packet() below fails, it won't be incremented and therefore it is possible for the previous_frame buffer to be allocated for multiple first frames, leaking every one except the last. So check for whether there already is a previous frame instead. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
721305e280
commit
a8d39e8846
@ -209,7 +209,7 @@ static int flashsv_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int opt_w = 4, opt_h = 4;
|
||||
|
||||
/* First frame needs to be a keyframe */
|
||||
if (avctx->frame_number == 0) {
|
||||
if (!s->previous_frame) {
|
||||
s->previous_frame = av_mallocz(FFABS(p->linesize[0]) * s->image_height);
|
||||
if (!s->previous_frame) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Memory allocation failed.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user