[mutter] barrier: Complain loudly if bogus barriers are created



commit f5949af0bbbb84931382aeabc8dadd2c4e82b8e4
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Fri Nov 27 15:41:17 2020 +0100

    barrier: Complain loudly if bogus barriers are created
    
    The API allows for invalid barriers to be created; in an X11 session,
    this could result in involutary early exit, so guard against those with
    soft asserts. These will be logged in the journal as warnings, but will
    avoid the crash unless compiled out.
    
    Note that this doesn't fix the bug, it just makes it more detectable.
    
    Related: https://bugzilla.redhat.com/show_bug.cgi?id=1901610
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1611>

 src/backends/meta-barrier.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/src/backends/meta-barrier.c b/src/backends/meta-barrier.c
index 71536c3d71..ea2a77c208 100644
--- a/src/backends/meta-barrier.c
+++ b/src/backends/meta-barrier.c
@@ -180,6 +180,10 @@ meta_barrier_constructed (GObject *object)
 
   g_return_if_fail (priv->border.line.a.x == priv->border.line.b.x ||
                     priv->border.line.a.y == priv->border.line.b.y);
+  g_return_if_fail (priv->border.line.a.x >= 0);
+  g_return_if_fail (priv->border.line.a.y >= 0);
+  g_return_if_fail (priv->border.line.b.x >= 0);
+  g_return_if_fail (priv->border.line.b.y >= 0);
 
 #if defined(HAVE_NATIVE_BACKEND)
   if (META_IS_BACKEND_NATIVE (meta_get_backend ()))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]