[Mesa-dev] [PATCH] intel: fix potential segfault error at intel_(un)map_texture_image
Yuanhan Liu
yuanhan.liu at linux.intel.com
Thu Sep 15 01:02:49 PDT 2011
intel_image->mt might be NULL, say with border width set. It then would
trigger a segfault at intel_map/unmap_texture_image function.
This would fix the oglc misctest(basic.textureBorderIgnore) fail.
Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
---
src/mesa/drivers/dri/intel/intel_tex.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_tex.c b/src/mesa/drivers/dri/intel/intel_tex.c
index f979523..cf3aa54 100644
--- a/src/mesa/drivers/dri/intel/intel_tex.c
+++ b/src/mesa/drivers/dri/intel/intel_tex.c
@@ -106,7 +106,7 @@ intel_map_texture_image(struct gl_context *ctx,
* row of blocks. intel_miptree_get_image_offset() already does
* the divide.
*/
- _mesa_get_format_block_size(mt->format, &bw, &bh);
+ _mesa_get_format_block_size(tex_image->TexFormat, &bw, &bh);
assert(y % bh == 0);
y /= bh;
@@ -143,7 +143,8 @@ intel_unmap_texture_image(struct gl_context *ctx,
struct intel_context *intel = intel_context(ctx);
struct intel_texture_image *intel_image = intel_texture_image(tex_image);
- intel_region_unmap(intel, intel_image->mt->region);
+ if (intel_image->mt && intel_image->mt->region)
+ intel_region_unmap(intel, intel_image->mt->region);
if (intel_image->stencil_rb) {
/*
--
1.7.4.4
More information about the mesa-dev
mailing list