http://bugs.gentoo.org/show_bug.cgi?id=230075 Security bug, fixed upstream. --- client/ShareManager.cpp 13 Oct 2007 21:56:55 -0000 1.14 +++ client/ShareManager.cpp 29 Jun 2008 15:34:36 -0000 1.15 @@ -926,6 +926,10 @@ } j = i + 1; } + + if(it == directories.end()) + return NULL; + for(ShareManager::Directory::MapIter it2 = it->second->directories.begin(); it2 != it->second->directories.end(); ++it2) { it2->second->toXml(sos, indent, tmp, recurse); } --- client/NmdcHub.cpp 4 Aug 2007 21:17:21 -0000 1.14 +++ client/NmdcHub.cpp 29 Jun 2008 15:42:27 -0000 1.15 @@ -693,10 +693,14 @@ if(fromNick.empty()) return; + if(param.size() < j + 2) { + return; + } + string msg = param.substr(j + 2); + OnlineUser* replyTo = findUser(rtNick); OnlineUser* from = findUser(fromNick); - string msg = param.substr(j + 2); if(replyTo == NULL || from == NULL) { if(replyTo == 0) { // Assume it's from the hub