Mesa (master): gbm: Assert modifiers and count are copacetic

Ben Widawsky bwidawsk at kemper.freedesktop.org
Sun Apr 9 16:30:13 UTC 2017


Module: Mesa
Branch: master
Commit: 6e907812f889d34d2840feda1c3e5d182a56e1ba
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e907812f889d34d2840feda1c3e5d182a56e1ba

Author: Ben Widawsky <ben at bwidawsk.net>
Date:   Wed Apr  5 10:31:45 2017 -0700

gbm: Assert modifiers and count are copacetic

The API/entry point in mesa already checks the correct behavior,
however, it's possible to be handled by another implementation and those
implementations should not be able to abuse a weird combination of count
and pointer.

This fixes CID 1403193

Cc: Mark Janes <mark.a.janes at intel.com>
Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/gbm/backends/dri/gbm_dri.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 8df6a6b64d..71590d7110 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -1266,6 +1266,9 @@ gbm_dri_surface_create(struct gbm_device *gbm,
       return NULL;
    }
 
+   if (count)
+      assert(modifiers);
+
    /* It's acceptable to create an image with INVALID modifier in the list,
     * but it cannot be on the only modifier (since it will certainly fail
     * later). While we could easily catch this after modifier creation, doing




More information about the mesa-commit mailing list