ecore_evas: Validate shadow geometry
authorDerek Foreman <derek.foreman.samsung@gmail.com>
Wed, 5 Dec 2018 16:12:01 +0000 (10:12 -0600)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 18 Dec 2018 04:23:55 +0000 (13:23 +0900)
Negative values in shadow geometry make no sense at all, however it's
happening all the time in wayland.  Let's throw an ERR so it doesn't go
unnoticed.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7434

src/lib/ecore_evas/ecore_evas.c

index e0846a3..52120d7 100644 (file)
@@ -2965,6 +2965,10 @@ EAPI void
 ecore_evas_shadow_geometry_set(Ecore_Evas *ee, int l, int r, int t, int b)
 {
    ECORE_EVAS_CHECK(ee);
+   EINA_SAFETY_ON_TRUE_RETURN(l < 0);
+   EINA_SAFETY_ON_TRUE_RETURN(r < 0);
+   EINA_SAFETY_ON_TRUE_RETURN(t < 0);
+   EINA_SAFETY_ON_TRUE_RETURN(b < 0);
    if ((ee->shadow.l == l) && (ee->shadow.r == r) &&
        (ee->shadow.t == t) && (ee->shadow.b == b)) return;
    ee->shadow.l = l;