Mesa (master): st/nine: Fix volumetexture dtor on ctor failure

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Dec 23 07:15:13 UTC 2018


Module: Mesa
Branch: master
Commit: f91f748fabd7fec8f571124df23296c07102a983
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f91f748fabd7fec8f571124df23296c07102a983

Author: Axel Davy <davyaxel0 at gmail.com>
Date:   Sun Nov 25 14:37:53 2018 +0100

st/nine: Fix volumetexture dtor on ctor failure

The dtor is called on allocation failure,
thus we must check the volumes are allocated
before trying to release them.

Signed-off-by: Axel Davy <davyaxel0 at gmail.com>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
Cc: mesa-stable at lists.freedesktop.org

---

 src/gallium/state_trackers/nine/volumetexture9.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/state_trackers/nine/volumetexture9.c b/src/gallium/state_trackers/nine/volumetexture9.c
index 5dec484486..c7191bce68 100644
--- a/src/gallium/state_trackers/nine/volumetexture9.c
+++ b/src/gallium/state_trackers/nine/volumetexture9.c
@@ -141,7 +141,8 @@ NineVolumeTexture9_dtor( struct NineVolumeTexture9 *This )
 
     if (This->volumes) {
         for (l = 0; l <= This->base.base.info.last_level; ++l)
-            NineUnknown_Destroy(&This->volumes[l]->base);
+            if (This->volumes[l])
+                NineUnknown_Destroy(&This->volumes[l]->base);
         FREE(This->volumes);
     }
 




More information about the mesa-commit mailing list