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>
dev
Wataru Natsume 9 years ago committed by Pekka Paalanen
parent 9c926fe9f5
commit 9d8b4414d7
  1. 5
      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 hmi_controller_layer *layer_link = NULL;
struct ivi_layout_layer *application_layer = NULL; struct ivi_layout_layer *application_layer = NULL;
struct weston_surface *surface; struct weston_surface *surface;
struct ivi_layout_surface **ivisurfs; struct ivi_layout_surface **ivisurfs = NULL;
int32_t length = 0; int32_t length = 0;
int32_t i; int32_t i;
@ -690,9 +690,12 @@ set_notification_configure_surface(struct ivi_layout_surface *ivisurf,
* commit_changes to apply source_rectangle. * commit_changes to apply source_rectangle.
*/ */
ivi_layout_interface->commit_changes(); ivi_layout_interface->commit_changes();
free(ivisurfs);
return; return;
} }
} }
free(ivisurfs);
ivisurfs = NULL;
} }
switch_mode(hmi_ctrl, hmi_ctrl->layout_mode); switch_mode(hmi_ctrl, hmi_ctrl->layout_mode);

Loading…
Cancel
Save