glsl/pp: Add asserts to check for null pointer deferences.
authorVinson Lee <vlee@vmware.com>
Mon, 15 Feb 2010 08:30:31 +0000 (00:30 -0800)
committerVinson Lee <vlee@vmware.com>
Mon, 15 Feb 2010 08:30:31 +0000 (00:30 -0800)
src/glsl/pp/sl_pp_extension.c
src/glsl/pp/sl_pp_process.c

index 2b6cf3c7e429c8529fc82d8d0735fbd6f3410318..677fb8a0e6f5d688b713fbbc82a06b0f0d935778 100644 (file)
@@ -137,6 +137,7 @@ sl_pp_process_extension(struct sl_pp_context *context,
          return -1;
       }
       out.token = SL_PP_EXTENSION_REQUIRE;
+      assert(extension);
       extension->enabled = 1;
    } else if (behavior == context->dict.enable) {
       if (out.data.extension == -1) {
@@ -148,6 +149,7 @@ sl_pp_process_extension(struct sl_pp_context *context,
          return -1;
       }
       out.token = SL_PP_EXTENSION_ENABLE;
+      assert(extension);
       extension->enabled = 1;
    } else if (behavior == context->dict.warn) {
       if (out.data.extension == -1) {
@@ -155,6 +157,7 @@ sl_pp_process_extension(struct sl_pp_context *context,
          return 0;
       }
       out.token = SL_PP_EXTENSION_WARN;
+      assert(extension);
       extension->enabled = 1;
    } else if (behavior == context->dict.disable) {
       if (out.data.extension == -1) {
@@ -162,6 +165,7 @@ sl_pp_process_extension(struct sl_pp_context *context,
          return 0;
       }
       out.token = SL_PP_EXTENSION_DISABLE;
+      assert(extension);
       extension->enabled = 0;
    } else {
       strcpy(context->error_msg, "unrecognised behavior name");
index f89986dd8ef91b81ea56a97dd9f4f044d6050204..315ad9bf1cd4ebf9460719b07eefab2e0e22f4b0 100644 (file)
@@ -87,6 +87,7 @@ sl_pp_process_get(struct sl_pp_context *context,
       int found_eof = 0;
 
       if (context->process_state.out_len) {
+         assert(context->process_state.out);
          *output = context->process_state.out[0];
 
          if (context->process_state.out_len > 1) {