Mesa (master): r600g: Fixed a bo leak in r600_blit_state_ps_shader().

Tilman Sauerbeck tilman at kemper.freedesktop.org
Thu Sep 16 09:10:20 UTC 2010


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

Author: Tilman Sauerbeck <tilman at code-monkey.de>
Date:   Fri Sep 10 15:20:15 2010 +0200

r600g: Fixed a bo leak in r600_blit_state_ps_shader().

We would leak the newly created bo if it cannot be mapped.

Signed-off-by: Tilman Sauerbeck <tilman at code-monkey.de>

---

 src/gallium/drivers/r600/r600_blit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c
index e6ded34..e6b3be6 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -335,10 +335,10 @@ static void r600_blit_state_ps_shader(struct r600_screen *rscreen, struct radeon
 	/* simple shader */
 	bo = radeon_bo(rscreen->rw, 0, 128, 4096, NULL);
 	if (bo == NULL) {
-		radeon_bo_decref(rscreen->rw, bo);
 		return;
 	}
 	if (radeon_bo_map(rscreen->rw, bo)) {
+		radeon_bo_decref(rscreen->rw, bo);
 		return;
 	}
 	switch (rscreen->chip_class) {




More information about the mesa-commit mailing list