[PATCH weston 4/5] ivi-shell: harden get_ivi_shell_surface()
Pekka Paalanen
ppaalanen at gmail.com
Tue Mar 22 14:48:06 UTC 2016
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
More information about the wayland-devel
mailing list