1
From 9c396be157cb4e8780145769851f99754830b5f6 Mon Sep 17 00:00:00 2001
2
From: Dylan Noblesmith <nobled@dreamwidth.org>
3
Date: Fri, 16 Mar 2012 18:38:49 +0000
4
Subject: [PATCH] intel: fix null dereference processing HiZ buffer
6
Or technically, a near-null dereference.
8
https://bugs.freedesktop.org/show_bug.cgi?id=46303
9
https://bugs.freedesktop.org/show_bug.cgi?id=46739
11
NOTE: This is a candidate for the 8.0 branch.
13
src/mesa/drivers/dri/intel/intel_context.c | 6 ++++++
14
1 files changed, 6 insertions(+), 0 deletions(-)
16
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
17
index ffd9536..7f94976 100644
18
--- a/src/mesa/drivers/dri/intel/intel_context.c
19
+++ b/src/mesa/drivers/dri/intel/intel_context.c
20
@@ -1223,6 +1223,10 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
24
+ /* Check if we failed to allocate the depth miptree earlier. */
25
+ if (buffer->attachment == __DRI_BUFFER_HIZ && rb->mt == NULL)
28
/* If the renderbuffer's and DRIbuffer's regions match, then continue. */
29
if ((buffer->attachment != __DRI_BUFFER_HIZ &&
31
@@ -1264,6 +1268,7 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
32
* due to failure to allocate new storage.
34
if (buffer->attachment == __DRI_BUFFER_HIZ) {
36
intel_miptree_release(&rb->mt->hiz_mt);
38
intel_miptree_release(&rb->mt);
39
@@ -1289,6 +1294,7 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
41
/* Associate buffer with new storage. */
42
if (buffer->attachment == __DRI_BUFFER_HIZ) {