From 611d008845e7db591a323a7830dfa82cb22845bd Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko Date: Fri, 5 Jan 2018 17:35:00 +0300 Subject: Correct cleanup on shared surface creation error --- src/surface_shared.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/surface_shared.c b/src/surface_shared.c index 171e5be..8e5f469 100644 --- a/src/surface_shared.c +++ b/src/surface_shared.c @@ -125,7 +125,11 @@ tegra_shared_surface *create_shared_surface(tegra_surface *disp, ret = dynamic_release_surface_data(disp); if (ret) { - free(shared->xv_img); + if (shared->xv_img) { + free(shared->xv_img->data); + XFree(shared->xv_img); + } + free(shared); pthread_mutex_unlock(&disp->lock); -- cgit v1.2.3