util: fail property parsing if the dimensions are 0
authorPeter Hutterer <peter.hutterer@who-t.net>
Thu, 9 Aug 2018 23:18:47 +0000 (09:18 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Mon, 13 Aug 2018 01:50:21 +0000 (11:50 +1000)
There is no use-case for a zero width/height in anything using that property.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/libinput-util.c
test/test-misc.c

index 1e198a8..cb68902 100644 (file)
@@ -273,7 +273,7 @@ parse_dimension_property(const char *prop, size_t *w, size_t *h)
        if (sscanf(prop, "%dx%d", &x, &y) != 2)
                return false;
 
-       if (x < 0 || y < 0)
+       if (x <= 0 || y <= 0)
                return false;
 
        *w = (size_t)x;
index c1cca24..8176a3e 100644 (file)
@@ -851,7 +851,7 @@ START_TEST(dimension_prop_parser)
                { "1x20", true, 1, 20 },
                { "1x8000", true, 1, 8000 },
                { "238492x428210", true, 238492, 428210 },
-               { "0x0", true, 0, 0 },
+               { "0x0", false, 0, 0 },
                { "-10x10", false, 0, 0 },
                { "-1", false, 0, 0 },
                { "1x-99", false, 0, 0 },
@@ -861,7 +861,7 @@ START_TEST(dimension_prop_parser)
                { "abd", false, 0, 0 },
                { "xabd", false, 0, 0 },
                { "0xaf", false, 0, 0 },
-               { "0x0x", true, 0, 0 },
+               { "0x0x", false, 0, 0 },
                { "x10", false, 0, 0 },
                { NULL, false, 0, 0 }
        };