[Mesa-dev] [PATCH] intel: fix potential segfault error at intel_(un)map_texture_image
Yuanhan Liu
yuanhan.liu at linux.intel.com
Thu Sep 22 20:14:21 PDT 2011
On Thu, Sep 15, 2011 at 04:02:49PM +0800, Yuanhan Liu wrote:
> 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.
Hello, any comments on this patch.
If no objection, I would like to commit this patch to repo next monday.
Thanks,
Yuanhan Liu
>
> 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