------------------------------------------------------------
revno: 3024
committer: iceman50 <[email protected]>
branch nick: dcplusplus
timestamp: Tue 2012-08-07 13:09:26 -0500
message:
Protect against sending an empty token in reserveSlot
modified:
dcpp/UploadManager.cpp
--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk
Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/UploadManager.cpp'
--- dcpp/UploadManager.cpp 2012-08-07 14:49:43 +0000
+++ dcpp/UploadManager.cpp 2012-08-07 18:09:26 +0000
@@ -296,8 +296,10 @@
auto it = find_if(waitingUsers.cbegin(), waitingUsers.cend(), [&](const UserPtr& u) { return u == aUser.user; });
return (it != waitingUsers.cend()) ? it->token : Util::emptyString;
};
-
- ClientManager::getInstance()->connect(aUser, userToken());
+
+ string token;
+ if((token = userToken()) != Util::emptyString)
+ ClientManager::getInstance()->connect(aUser, token);
}
}
@@ -583,18 +585,20 @@
// TimerManagerListener
void UploadManager::on(TimerManagerListener::Second, uint64_t) noexcept {
- Lock l(cs);
- UploadList ticks;
+ {
+ Lock l(cs);
+ UploadList ticks;
- for(auto u: uploads) {
- if(u->getPos() > 0) {
- ticks.push_back(u);
- u->tick();
+ for(auto u: uploads) {
+ if(u->getPos() > 0) {
+ ticks.push_back(u);
+ u->tick();
+ }
}
+
+ if(!uploads.empty())
+ fire(UploadManagerListener::Tick(), UploadList(uploads));
}
-
- if(!uploads.empty())
- fire(UploadManagerListener::Tick(), UploadList(uploads));
notifyQueuedUsers();
}
_______________________________________________
Mailing list: https://launchpad.net/~linuxdcpp-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~linuxdcpp-team
More help : https://help.launchpad.net/ListHelp