From: Emil Velikov <emil.veli...@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 <l...@collabora.com>
Cc: Daniel Stone <dani...@collabora.com>
Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
---
 hw/xwayland/xwayland-glamor.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
index 339420e05..59461be1f 100644
--- a/hw/xwayland/xwayland-glamor.c
+++ b/hw/xwayland/xwayland-glamor.c
@@ -779,13 +779,14 @@ glamor_get_modifiers(ScreenPtr screen, CARD32 format,
     struct xwl_format *xwl_format = NULL;
     int i;
 
+    /* Explicitly zero the count as the caller may ignore the return value */
+    *num_modifiers = 0;
+
     if (!xwl_screen->dmabuf_capable || !xwl_screen->dmabuf)
         return FALSE;
 
-    if (xwl_screen->num_formats == 0) {
-       *num_modifiers = 0;
-       return TRUE;
-    }
+    if (xwl_screen->num_formats == 0)
+        return TRUE;
 
     for (i = 0; i < xwl_screen->num_formats; i++) {
        if (xwl_screen->formats[i].format == format) {
@@ -794,16 +795,12 @@ glamor_get_modifiers(ScreenPtr screen, CARD32 format,
        }
     }
 
-    if (!xwl_format) {
-       *num_modifiers = 0;
+    if (!xwl_format)
         return FALSE;
-    }
 
     *modifiers = calloc(xwl_format->num_modifiers, sizeof(uint64_t));
-    if (*modifiers == NULL) {
-        *num_modifiers = 0;
+    if (*modifiers == NULL)
         return FALSE;
-    }
 
     for (i = 0; i < xwl_format->num_modifiers; i++)
        (*modifiers)[i] = xwl_format->modifiers[i];
-- 
2.16.0

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to