Mesa (main): iris: Fix Null pointer dereferences
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Aug 4 09:10:50 UTC 2021
Module: Mesa
Branch: main
Commit: d16b9b27b0f2fdc3416b4c50c16711c5eec063b2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d16b9b27b0f2fdc3416b4c50c16711c5eec063b2
Author: Sergii Melikhov <sergii.v.melikhov at globallogic.com>
Date: Mon Aug 2 15:15:34 2021 +0300
iris: Fix Null pointer dereferences
Fix the error from Coverity report: CID 1489765
Signed-off-by: Sergii Melikhov <sergii.v.melikhov at globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12179>
---
src/gallium/drivers/iris/iris_program.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c
index f4a1e688e9c..f67be3f47eb 100644
--- a/src/gallium/drivers/iris/iris_program.c
+++ b/src/gallium/drivers/iris/iris_program.c
@@ -1372,9 +1372,9 @@ iris_update_compiled_vs(struct iris_context *ice)
IRIS_STAGE_DIRTY_CONSTANTS_VS;
shs->sysvals_need_upload = true;
- const struct brw_vue_prog_data *vue_prog_data =
- (void *) shader->prog_data;
- check_urb_size(ice, vue_prog_data->urb_entry_size, MESA_SHADER_VERTEX);
+ unsigned urb_entry_size = shader ?
+ ((struct brw_vue_prog_data *) shader->prog_data)->urb_entry_size : 0;
+ check_urb_size(ice, urb_entry_size, MESA_SHADER_VERTEX);
}
}
@@ -1604,8 +1604,9 @@ iris_update_compiled_tcs(struct iris_context *ice)
IRIS_STAGE_DIRTY_CONSTANTS_TCS;
shs->sysvals_need_upload = true;
- const struct brw_vue_prog_data *prog_data = (void *) shader->prog_data;
- check_urb_size(ice, prog_data->urb_entry_size, MESA_SHADER_TESS_CTRL);
+ unsigned urb_entry_size = shader ?
+ ((struct brw_vue_prog_data *) shader->prog_data)->urb_entry_size : 0;
+ check_urb_size(ice, urb_entry_size, MESA_SHADER_TESS_CTRL);
}
}
@@ -1730,8 +1731,9 @@ iris_update_compiled_tes(struct iris_context *ice)
IRIS_STAGE_DIRTY_CONSTANTS_TES;
shs->sysvals_need_upload = true;
- const struct brw_vue_prog_data *prog_data = (void *) shader->prog_data;
- check_urb_size(ice, prog_data->urb_entry_size, MESA_SHADER_TESS_EVAL);
+ unsigned urb_entry_size = shader ?
+ ((struct brw_vue_prog_data *) shader->prog_data)->urb_entry_size : 0;
+ check_urb_size(ice, urb_entry_size, MESA_SHADER_TESS_EVAL);
}
/* TODO: Could compare and avoid flagging this. */
More information about the mesa-commit
mailing list