Mesa (master): r600/sb: Fix memory leak

Marek Olšák mareko at kemper.freedesktop.org
Wed Feb 8 16:38:46 UTC 2017


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

Author: Bartosz Tomczyk <bartosz.tomczyk86 at gmail.com>
Date:   Sun Jan 29 19:10:25 2017 +0100

r600/sb: Fix memory leak

Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/r600/sb/sb_valtable.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sb/sb_valtable.cpp b/src/gallium/drivers/r600/sb/sb_valtable.cpp
index a8b7b49..d31a1b7 100644
--- a/src/gallium/drivers/r600/sb/sb_valtable.cpp
+++ b/src/gallium/drivers/r600/sb/sb_valtable.cpp
@@ -241,6 +241,7 @@ void value::remove_use(const node *n) {
 	{
 		// TODO assert((*it)->kind == kind) ?
 		// TODO assert((*it)->arg == arg) ?
+		delete *it;
 		uses.erase(it);
 	}
 }
@@ -290,7 +291,12 @@ bool value::is_prealloc() {
 }
 
 void value::delete_uses() {
-	uses.erase(uses.begin(), uses.end());
+	for (uselist::iterator it = uses.begin(); it != uses.end(); ++it)
+	{
+		delete *it;
+	}
+
+	uses.clear();
 }
 
 void ra_constraint::update_values() {




More information about the mesa-commit mailing list