vlc | branch: master | Steve Lhomme <[email protected]> | Fri Nov 24 16:24:47 2017 +0100| [dd6b71958d0ec80575f68f701ff5c95a61cce019] | committer: Jean-Baptiste Kempf
hw:d3d11:d3d11_deinterlace: check values are ok Also release unsused memory. CID #1462212, #1462211 Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dd6b71958d0ec80575f68f701ff5c95a61cce019 --- modules/hw/d3d11/d3d11_deinterlace.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/hw/d3d11/d3d11_deinterlace.c b/modules/hw/d3d11/d3d11_deinterlace.c index 2068ac63c1..841e413556 100644 --- a/modules/hw/d3d11/d3d11_deinterlace.c +++ b/modules/hw/d3d11/d3d11_deinterlace.c @@ -128,6 +128,8 @@ static int RenderPic( filter_t *p_filter, picture_t *p_outpic, picture_t *p_pic, HRESULT hr; filter_sys_t *p_sys = p_filter->p_sys; + //msg_Dbg(p_filter, "%lx deinterlace", GetCurrentThreadId()); + picture_t *p_prev = p_sys->context.pp_history[0]; picture_t *p_cur = p_sys->context.pp_history[1]; picture_t *p_next = p_sys->context.pp_history[2]; @@ -297,6 +299,11 @@ static picture_t *NewOutputPicture( filter_t *p_filter ) break; } } + if (unlikely(cfg == NULL)) + { + free(pic->p_sys); + return NULL; + } /* create the texture that's missing */ video_format_t fmt = p_filter->fmt_out.video; @@ -553,6 +560,7 @@ error: ID3D11VideoDevice_Release(sys->d3dviddev); if (sys->d3d_dev.d3dcontext) D3D11_FilterReleaseInstance(&sys->d3d_dev); + free(sys); return VLC_EGENERIC; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
