[Mesa-dev] [PATCH 6/8] mesa: add missing null checks in _tnl_register_fastpath()

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue Feb 25 06:41:19 PST 2014


Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
---
 src/mesa/tnl/t_vertex.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/mesa/tnl/t_vertex.c b/src/mesa/tnl/t_vertex.c
index b3deac0..b3e70d3 100644
--- a/src/mesa/tnl/t_vertex.c
+++ b/src/mesa/tnl/t_vertex.c
@@ -83,12 +83,24 @@ void _tnl_register_fastpath( struct tnl_clipspace *vtx,
    struct tnl_clipspace_fastpath *fastpath = CALLOC_STRUCT(tnl_clipspace_fastpath);
    GLuint i;
 
+   if (fastpath == NULL) {
+       GET_CURRENT_CONTEXT(ctx);
+       _mesa_error(ctx, GL_OUT_OF_MEMORY, "out of memory");
+      return;
+   }
+
    fastpath->vertex_size = vtx->vertex_size;
    fastpath->attr_count = vtx->attr_count;
    fastpath->match_strides = match_strides;
    fastpath->func = vtx->emit;
-   fastpath->attr =
-      malloc(vtx->attr_count * sizeof(fastpath->attr[0]));
+   fastpath->attr = malloc(vtx->attr_count * sizeof(fastpath->attr[0]));
+
+   if (fastpath->attr == NULL) {
+      FREE(fastpath);
+      GET_CURRENT_CONTEXT(ctx);
+      _mesa_error(ctx, GL_OUT_OF_MEMORY, "out of memory");
+      return;
+   }
 
    for (i = 0; i < vtx->attr_count; i++) {
       fastpath->attr[i].format = vtx->attr[i].format;
-- 
1.8.1.2



More information about the mesa-dev mailing list