hmi-controller: fix leak of ivi surface list

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

Signed-off-by: Wataru Natsume <WATARU_NATSUME@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
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 @@
 	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 @@
 				 * 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);