Browse Source

avcodec/extract_extradata_bsf: Don't unref uninitialized buffers

This happens if allocating extradata fails and s->remove is unset.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
tags/n4.3
Andreas Rheinhardt James Almer 6 years ago
parent
commit
76e0ecec0b
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      libavcodec/extract_extradata_bsf.c

+ 2
- 2
libavcodec/extract_extradata_bsf.c View File

@@ -85,7 +85,7 @@ static int extract_extradata_av1(AVBSFContext *ctx, AVPacket *pkt,
} }


if (extradata_size && has_seq) { if (extradata_size && has_seq) {
AVBufferRef *filtered_buf;
AVBufferRef *filtered_buf = NULL;
uint8_t *extradata, *filtered_data; uint8_t *extradata, *filtered_data;


if (s->remove) { if (s->remove) {
@@ -179,7 +179,7 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
if (extradata_size && if (extradata_size &&
((ctx->par_in->codec_id == AV_CODEC_ID_HEVC && has_sps && has_vps) || ((ctx->par_in->codec_id == AV_CODEC_ID_HEVC && has_sps && has_vps) ||
(ctx->par_in->codec_id == AV_CODEC_ID_H264 && has_sps))) { (ctx->par_in->codec_id == AV_CODEC_ID_H264 && has_sps))) {
AVBufferRef *filtered_buf;
AVBufferRef *filtered_buf = NULL;
uint8_t *extradata, *filtered_data; uint8_t *extradata, *filtered_data;


if (s->remove) { if (s->remove) {


Loading…
Cancel
Save