Mesa (master): svga: add some trivial null pointer checks

Brian Paul brianp at kemper.freedesktop.org
Thu Apr 7 17:44:39 UTC 2016


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

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Apr  5 09:56:49 2016 -0600

svga: add some trivial null pointer checks

These small mallocs will probably never fail, but static analysis tools
may complain about the missing checks.

Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

---

 src/gallium/drivers/svga/svga_pipe_blend.c        | 3 +++
 src/gallium/drivers/svga/svga_pipe_depthstencil.c | 3 +++
 src/gallium/drivers/svga/svga_pipe_rasterizer.c   | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/src/gallium/drivers/svga/svga_pipe_blend.c b/src/gallium/drivers/svga/svga_pipe_blend.c
index 0af80cd..0ba9313 100644
--- a/src/gallium/drivers/svga/svga_pipe_blend.c
+++ b/src/gallium/drivers/svga/svga_pipe_blend.c
@@ -142,6 +142,9 @@ svga_create_blend_state(struct pipe_context *pipe,
    struct svga_blend_state *blend = CALLOC_STRUCT( svga_blend_state );
    unsigned i;
 
+   if (!blend)
+      return NULL;
+
    /* Fill in the per-rendertarget blend state.  We currently only
     * support independent blend enable and colormask per render target.
     */
diff --git a/src/gallium/drivers/svga/svga_pipe_depthstencil.c b/src/gallium/drivers/svga/svga_pipe_depthstencil.c
index d84ed1d..83fcdc3 100644
--- a/src/gallium/drivers/svga/svga_pipe_depthstencil.c
+++ b/src/gallium/drivers/svga/svga_pipe_depthstencil.c
@@ -134,6 +134,9 @@ svga_create_depth_stencil_state(struct pipe_context *pipe,
    struct svga_context *svga = svga_context(pipe);
    struct svga_depth_stencil_state *ds = CALLOC_STRUCT( svga_depth_stencil_state );
 
+   if (!ds)
+      return NULL;
+
    /* Don't try to figure out CW/CCW correspondence with
     * stencil[0]/[1] at this point.  Presumably this can change as
     * back/front face are modified.
diff --git a/src/gallium/drivers/svga/svga_pipe_rasterizer.c b/src/gallium/drivers/svga/svga_pipe_rasterizer.c
index 8e0db53..d397c95 100644
--- a/src/gallium/drivers/svga/svga_pipe_rasterizer.c
+++ b/src/gallium/drivers/svga/svga_pipe_rasterizer.c
@@ -161,6 +161,9 @@ svga_create_rasterizer_state(struct pipe_context *pipe,
    struct svga_rasterizer_state *rast = CALLOC_STRUCT( svga_rasterizer_state );
    struct svga_screen *screen = svga_screen(pipe->screen);
 
+   if (!rast)
+      return NULL;
+
    /* need this for draw module. */
    rast->templ = *templ;
 




More information about the mesa-commit mailing list