On Wed, Nov 02, 2016 at 11:48:58AM -0400, Vittorio Giovara wrote: > Signed-off-by: Vittorio Giovara <vittorio.giov...@gmail.com> > --- > Please CC. > Vittorio > > libavcodec/hevc.c | 18 ++++++++++++++++++ > libavformat/mov.c | 4 ---- > 2 files changed, 18 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c > index 29e0d49..b50120e 100644 > --- a/libavcodec/hevc.c > +++ b/libavcodec/hevc.c > @@ -3051,6 +3051,8 @@ static int hevc_decode_frame(AVCodecContext *avctx, > void *data, int *got_output, > AVPacket *avpkt) > { > int ret; > + int new_extradata_size; > + uint8_t *new_extradata; > HEVCContext *s = avctx->priv_data; > > if (!avpkt->size) { > @@ -3062,6 +3064,22 @@ static int hevc_decode_frame(AVCodecContext *avctx, > void *data, int *got_output, > return 0; > } > > + new_extradata_size = 0; > + new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA, > + &new_extradata_size); > + if (new_extradata_size > 0 && new_extradata) {
new_extradata should be checked first, that should make new_extradata_size = 0; unneeded > + if (new_extradata_size > avctx->extradata_size) { > + avctx->extradata = av_realloc(avctx->extradata, > new_extradata_size); This leaks on reallocation failure overwriting the allocated pointer also can you add a fate test ? thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB It is what and why we do it that matters, not just one of them.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel