> -----Original Message----- > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf > Of Carl Eugen Hoyos > Sent: Wednesday, April 10, 2019 19:35 > To: FFmpeg development discussions and patches <ffmpeg- > de...@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/qsvenc: Fix the memory leak > for enc_ctrl.Payload > > 2019-04-10 13:27 GMT+02:00, Linjie Fu <linjie...@intel.com>: > > frame->enc_ctrl.Payload is malloced in get_free_frame, directly memset > > the whole structure of enc_ctrl to zero will cause the memory leak for > > enc_ctrl.Payload. > > > > Fix the memory leak issue and reset other members in mfxEncodeCtrl. > > > > Signed-off-by: Linjie Fu <linjie...@intel.com> > > --- > > libavcodec/qsvenc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > > index 5aa020d47b..029bb562d6 100644 > > --- a/libavcodec/qsvenc.c > > +++ b/libavcodec/qsvenc.c > > @@ -1254,7 +1254,7 @@ static int encode_frame(AVCodecContext *avctx, > > QSVEncContext *q, > > if (qsv_frame) { > > surf = &qsv_frame->surface; > > enc_ctrl = &qsv_frame->enc_ctrl; > > - memset(enc_ctrl, 0, sizeof(mfxEncodeCtrl)); > > + memset(enc_ctrl, 0, sizeof(mfxEncodeCtrl) - sizeof(mfxPayload **)); > > Am I correct that this assumes a particular order of > contents in a struct not defined within FFmpeg? > Maybe saving the pointer in a variable and writing > it back is more future proof? > Yes it's a structure defined in MediaSDK, and will move the memset to the start of the allocation to avoid this.
Thanks, Linjie _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".