From: Danny Al-Gaaf Date: Mon, 18 Mar 2013 13:34:37 +0000 (+0100) Subject: test/filestore/test_idempotent.cc: fix ~TestFileStoreState() X-Git-Tag: v0.60~44^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=72580516bb70627b3cfaf196f582b597834f1763;p=ceph.git test/filestore/test_idempotent.cc: fix ~TestFileStoreState() Fix interator handling in ~TestFileStoreState(). After std::map::erase() the used iterator is invalid. Use a while-loop and erase the object with post-incremented iterator instead. Signed-off-by: Danny Al-Gaaf --- diff --git a/src/test/filestore/TestFileStoreState.h b/src/test/filestore/TestFileStoreState.h index 74276b03f70f..d3bba6924371 100644 --- a/src/test/filestore/TestFileStoreState.h +++ b/src/test/filestore/TestFileStoreState.h @@ -99,10 +99,10 @@ public: } ~TestFileStoreState() { map::iterator it = m_collections.begin(); - for (; it != m_collections.end(); it++) { - if (it->second) - delete it->second; - m_collections.erase(it); + while (it != m_collections.end()) { + if (it->second) + delete it->second; + m_collections.erase(it++); } }