Reviewed-by: Edward O'Callaghan <eocallag...@alterapraxis.com>

+1 for defensive programming.

On 2016-04-07 06:00, Brian Paul wrote:
These small mallocs will probably never fail, but static analysis tools
may complain about the missing checks.
---
 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;

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to