summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Koreniak <okoreniak@luxoft.com>2016-04-14 13:25:21 +0300
committerOleksandr Koreniak <okoreniak@luxoft.com>2016-04-14 13:25:21 +0300
commitd41d2deac658b93c377377fecbbc99def791c0aa (patch)
tree52ef64e1b626b9bb0336dea9759bda0aef80d9f8
parente4cd770730b59c2b41572e3bc7f0510394a161d3 (diff)
downloadsdl_core-d41d2deac658b93c377377fecbbc99def791c0aa.tar.gz
SDL doesn't crash with Core dump caused by double free on app exit
Iterator increment operator was missed in map erase operation.
-rw-r--r--src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp b/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
index 1e63f0ba31..fb24d08f1c 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
+++ b/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
@@ -77,7 +77,7 @@ namespace NsMessageBroker
std::map <std::string, int>::iterator it = mControllersList.begin();
for (; it != mControllersList.end();) {
if (it->second == fd) {
- mControllersList.erase(it);
+ mControllersList.erase(it++);
} else {
++it;
}