summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Davy <axel.davy@ens.fr>2016-02-12 19:08:42 +0100
committerAxel Davy <axel.davy@ens.fr>2016-05-18 23:37:14 +0200
commit2d51c817cdff6ada200e80ecb6819a641aebc462 (patch)
tree441b3e3a0f010f182469380bac50a1df886af654
parent7fc8391d235e96b66abaa9944241a6935b256023 (diff)
downloadexternal_mesa3d-2d51c817cdff6ada200e80ecb6819a641aebc462.tar.gz
external_mesa3d-2d51c817cdff6ada200e80ecb6819a641aebc462.tar.bz2
external_mesa3d-2d51c817cdff6ada200e80ecb6819a641aebc462.zip
st/nine: Fix leak after ctor failures
Previously ctor failures would not unreference the device. Signed-off-by: Axel Davy <axel.davy@ens.fr>
-rw-r--r--src/gallium/state_trackers/nine/iunknown.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/iunknown.c b/src/gallium/state_trackers/nine/iunknown.c
index a28c8b2de8..515ceaa263 100644
--- a/src/gallium/state_trackers/nine/iunknown.c
+++ b/src/gallium/state_trackers/nine/iunknown.c
@@ -48,6 +48,8 @@ NineUnknown_ctor( struct NineUnknown *This,
void
NineUnknown_dtor( struct NineUnknown *This )
{
+ if (This->refs && This->device) /* Possible only if early exit after a ctor failed */
+ (void) NineUnknown_Release(NineUnknown(This->device));
FREE(This);
}