]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-filestore-dump.cc: cleanup on error case
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Mon, 13 May 2013 09:50:37 +0000 (11:50 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 14 May 2013 16:39:30 +0000 (18:39 +0200)
CID 1019589 (#1 of 1): Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "t" going out of scope leaks the
  storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/tools/ceph-filestore-dump.cc

index 5587ef4dcff601717d9bdca31db76f3fe32880df..1c09de6c0a33f124e01bac663bbf3b052db14ff8 100644 (file)
@@ -357,7 +357,7 @@ void remove_coll(ObjectStore *store, const coll_t &coll)
     r = store->collection_list_partial(coll, next, 200, 300, 0,
       &objects, &next);
     if (r < 0)
-      return;
+      goto out;
     for (vector<hobject_t>::iterator i = objects.begin();
         i != objects.end();
         ++i, ++num) {
@@ -380,6 +380,7 @@ void remove_coll(ObjectStore *store, const coll_t &coll)
   }
   t->remove_collection(coll);
   store->apply_transaction(*t);
+out:
   delete t;
 }