linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #04609
[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2629: fix miniupnp init crashes
------------------------------------------------------------
revno: 2629
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2011-10-10 19:43:39 +0200
message:
fix miniupnp init crashes
modified:
dcpp/ConnectivityManager.cpp
dcpp/ConnectivityManager.h
dcpp/DCPlusPlus.cpp
dcpp/GeoIP.cpp
dcpp/GeoIP.h
win32/Mapper_MiniUPnPc.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/ConnectivityManager.cpp'
--- dcpp/ConnectivityManager.cpp 2011-05-06 21:39:48 +0000
+++ dcpp/ConnectivityManager.cpp 2011-10-10 17:43:39 +0000
@@ -150,9 +150,9 @@
ConnectionManager::getInstance()->disconnect();
}
-void ConnectivityManager::log(const string& message) {
+void ConnectivityManager::log(string&& message) {
if(BOOLSETTING(AUTO_DETECT_CONNECTION)) {
- status = move(message);
+ status = forward<string>(message);
LogManager::getInstance()->message(_("Connectivity: ") + status);
fire(ConnectivityManagerListener::Message(), status);
} else {
=== modified file 'dcpp/ConnectivityManager.h'
--- dcpp/ConnectivityManager.h 2011-05-06 21:39:48 +0000
+++ dcpp/ConnectivityManager.h 2011-10-10 17:43:39 +0000
@@ -60,7 +60,7 @@
virtual ~ConnectivityManager() { }
void mappingFinished(const string& mapper);
- void log(const string& msg);
+ void log(string&& message);
void startSocket();
void listen();
=== modified file 'dcpp/DCPlusPlus.cpp'
--- dcpp/DCPlusPlus.cpp 2011-10-08 15:21:54 +0000
+++ dcpp/DCPlusPlus.cpp 2011-10-10 17:43:39 +0000
@@ -100,9 +100,9 @@
}
#endif
- auto announce = [&f, &p](const string&& str) {
+ auto announce = [&f, &p](const string& str) {
if(f)
- (*f)(p, forward<const string>(str));
+ (*f)(p, str);
};
announce(_("Users"));
=== modified file 'dcpp/GeoIP.cpp'
--- dcpp/GeoIP.cpp 2011-10-08 15:21:54 +0000
+++ dcpp/GeoIP.cpp 2011-10-10 17:43:39 +0000
@@ -29,7 +29,7 @@
namespace dcpp {
-GeoIP::GeoIP(const string&& path) : geo(0), path(path) {
+GeoIP::GeoIP(string&& path) : geo(0), path(forward<string>(path)) {
if(File::getSize(path) <= 0 && !decompress()) {
return;
}
=== modified file 'dcpp/GeoIP.h'
--- dcpp/GeoIP.h 2011-10-08 15:21:54 +0000
+++ dcpp/GeoIP.h 2011-10-10 17:43:39 +0000
@@ -33,7 +33,7 @@
class GeoIP : boost::noncopyable {
public:
- explicit GeoIP(const string&& path);
+ explicit GeoIP(string&& path);
~GeoIP();
string getCountry(const string& ip) const;
=== modified file 'win32/Mapper_MiniUPnPc.cpp'
--- win32/Mapper_MiniUPnPc.cpp 2011-08-09 11:33:36 +0000
+++ win32/Mapper_MiniUPnPc.cpp 2011-10-10 17:43:39 +0000
@@ -47,15 +47,19 @@
UPNPUrls urls;
IGDdatas data;
- initialized = UPNP_GetValidIGD(devices, &urls, &data, 0, 0) == 1;
+ auto res = UPNP_GetValidIGD(devices, &urls, &data, 0, 0);
+
+ initialized = res == 1;
if(initialized) {
url = urls.controlURL;
service = data.first.servicetype;
device = data.CIF.friendlyName;
}
- FreeUPNPUrls(&urls);
- freeUPNPDevlist(devices);
+ if(res) {
+ FreeUPNPUrls(&urls);
+ freeUPNPDevlist(devices);
+ }
return initialized;
}