r600/sb: Fix memory leak
authorBartosz Tomczyk <bartosz.tomczyk86@gmail.com>
Sun, 29 Jan 2017 18:10:25 +0000 (19:10 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 8 Feb 2017 16:36:05 +0000 (17:36 +0100)
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/r600/sb/sb_valtable.cpp

index a8b7b49cd416f0c3db942cc6961dd0e1e377fbf7..d31a1b76d58bd10697adb7c51b812cc197d97934 100644 (file)
@@ -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() {