[PATCH xserver 11/15] xwayland: zero num_formats from the start

Emil Velikov emil.l.velikov at gmail.com
Mon Apr 2 15:41:22 UTC 2018


From: Emil Velikov <emil.velikov at collabora.com>

The caller may ignore the return value (will be addressed with later
commit) so simply zero the count from the get-go. We're pretty much do
so, in all cases but one :-\

Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
Cc: Louis-Francis Ratté-Boulianne <lfrb at collabora.com>
Cc: Daniel Stone <daniels at collabora.com>

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 hw/xwayland/xwayland-glamor.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
index 59461be1f..1b9a6b030 100644
--- a/hw/xwayland/xwayland-glamor.c
+++ b/hw/xwayland/xwayland-glamor.c
@@ -750,19 +750,18 @@ glamor_get_formats(ScreenPtr screen,
     struct xwl_screen *xwl_screen = xwl_screen_get(screen);
     int i;
 
+    /* Explicitly zero the count as the caller may ignore the return value */
+    *num_formats = 0;
+
     if (!xwl_screen->dmabuf_capable || !xwl_screen->dmabuf)
         return FALSE;
 
-    if (xwl_screen->num_formats == 0) {
-       *num_formats = 0;
+    if (xwl_screen->num_formats == 0)
        return TRUE;
-    }
 
     *formats = calloc(xwl_screen->num_formats, sizeof(CARD32));
-    if (*formats == NULL) {
-        *num_formats = 0;
+    if (*formats == NULL)
         return FALSE;
-    }
 
     for (i = 0; i < xwl_screen->num_formats; i++)
        (*formats)[i] = xwl_screen->formats[i].format;
-- 
2.16.0



More information about the xorg-devel mailing list