[PATCH weston] hmi-controller: fix leak of ivi surface list

Wataru Natsume wataru_natsume at xddp.denso.co.jp
Thu Mar 3 10:56:52 UTC 2016


From: Wataru Natsume <WATARU_NATSUME at xddp.denso.co.jp>

get_surfaces_on_layer() allocates memory and stores the pointer to 'ivisurfs'. But it was not freed.

Signed-off-by: Wataru Natsume <WATARU_NATSUME at xddp.denso.co.jp>
---
 ivi-shell/hmi-controller.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index ace6555..6548ed7 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -655,7 +655,7 @@ set_notification_configure_surface(struct ivi_layout_surface *ivisurf,
 	struct hmi_controller_layer *layer_link = NULL;
 	struct ivi_layout_layer *application_layer = NULL;
 	struct weston_surface *surface;
-	struct ivi_layout_surface **ivisurfs;
+	struct ivi_layout_surface **ivisurfs = NULL;
 	int32_t length = 0;
 	int32_t i;
 
@@ -690,9 +690,12 @@ set_notification_configure_surface(struct ivi_layout_surface *ivisurf,
 				 * commit_changes to apply source_rectangle.
 				 */
 				ivi_layout_interface->commit_changes();
+				free(ivisurfs);
 				return;
 			}
 		}
+		free(ivisurfs);
+		ivisurfs = NULL;
 	}
 
 	switch_mode(hmi_ctrl, hmi_ctrl->layout_mode);
-- 
1.7.9.5



More information about the wayland-devel mailing list