vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Fri Dec 21 21:52:14 2018 +0200| [a736cf4e854084fd469d986f310218cb55a2180e] | committer: Rémi Denis-Courmont
opengl/vdpau: fix leaks > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a736cf4e854084fd469d986f310218cb55a2180e --- modules/video_output/opengl/converter_vdpau.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/video_output/opengl/converter_vdpau.c b/modules/video_output/opengl/converter_vdpau.c index 4129f7bdf7..5671ea30b4 100644 --- a/modules/video_output/opengl/converter_vdpau.c +++ b/modules/video_output/opengl/converter_vdpau.c @@ -94,8 +94,10 @@ tc_vdpau_gl_get_pool(opengl_tex_converter_t const *tc, goto error; vlc_vdp_output_surface_t *picsys = malloc(sizeof (*picsys)); - if (!picsys) + if (!picsys) { + vdp_output_surface_destroy(priv->vdp, surface); goto error; + } picsys->vdp = vdp_hold_x11(priv->vdp, NULL); picsys->device = priv->vdp_device; @@ -106,8 +108,11 @@ tc_vdpau_gl_get_pool(opengl_tex_converter_t const *tc, .pf_destroy = pool_pic_destroy_cb }; pics[i] = picture_NewFromResource(&tc->fmt, &rsc); - if (!pics[i]) + if (!pics[i]) { + free(picsys); + vdp_output_surface_destroy(priv->vdp, surface); goto error; + } } picture_pool_t *pool = picture_pool_New(requested_count, pics); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
