[PATCH weston 4/5] ivi-shell: harden get_ivi_shell_surface()

Eugen Friedrich friedrix at gmail.com
Thu Mar 24 10:30:52 UTC 2016


2016-03-22 15:48 GMT+01:00 Pekka Paalanen <ppaalanen at gmail.com>:
> From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>
> Add more sanity checks to get_ivi_shell_surface() just in case.
>
> If the configure hook is set, we must always have non-NULL
> configure_private.
>
> Check the ivi_shell_surface matches the surface.
>
> Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> ---
>  ivi-shell/ivi-shell.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
> index d136f46..c502c74 100644
> --- a/ivi-shell/ivi-shell.c
> +++ b/ivi-shell/ivi-shell.c
> @@ -81,10 +81,16 @@ ivi_shell_surface_configure(struct weston_surface *, int32_t, int32_t);
>  static struct ivi_shell_surface *
>  get_ivi_shell_surface(struct weston_surface *surface)
>  {
> -       if (surface->configure == ivi_shell_surface_configure)
> -               return surface->configure_private;
> +       struct ivi_shell_surface *shsurf;
> +
> +       if (surface->configure != ivi_shell_surface_configure)
> +               return NULL;
> +
> +       shsurf = surface->configure_private;
> +       assert(shsurf);
> +       assert(shsurf->surface == surface);
>
> -       return NULL;
> +       return shsurf;
>  }
>
>  void
> --
> 2.7.3
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Looks good
Reviewed-by: Eugen Friedrich <friedrix at gmail.com>


More information about the wayland-devel mailing list