summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2015-02-15 16:21:39 +0000
committerAlexander Lantsev <aunsane@gmail.com>2015-02-15 16:21:39 +0000
commitacf80f676b629849e5a920f1cd07df463e741d4b (patch)
tree2b278912901cf6a7006f0bc612193a9f7c41f5ae
parente6fd14cf522fe0309a21aea84bfe2c9b9ee0eedb (diff)
Tox: check public key on null
git-svn-id: http://svn.miranda-ng.org/main/trunk@12128 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--protocols/Tox/src/api_connection.cpp4
-rw-r--r--protocols/Tox/src/tox_address.h5
-rw-r--r--protocols/Tox/src/tox_network.cpp5
3 files changed, 8 insertions, 6 deletions
diff --git a/protocols/Tox/src/api_connection.cpp b/protocols/Tox/src/api_connection.cpp
index 3b3ffb4143..6a854612fb 100644
--- a/protocols/Tox/src/api_connection.cpp
+++ b/protocols/Tox/src/api_connection.cpp
@@ -4,11 +4,15 @@
int tox_bootstrap_from_address(Tox *tox, const char *address, uint16_t port, const uint8_t *public_key)
{
+ if (public_key == NULL)
+ return 0;
return CreateFunction<int(*)(Tox*, const char*, uint16_t, const uint8_t*)>(__FUNCTION__)(tox, address, port, public_key);
}
int tox_add_tcp_relay(Tox *tox, const char *address, uint16_t port, const uint8_t *public_key)
{
+ if (public_key == NULL)
+ return 0;
return CreateFunction<int(*)(Tox*, const char*, uint16_t, const uint8_t*)>(__FUNCTION__)(tox, address, port, public_key);
}
diff --git a/protocols/Tox/src/tox_address.h b/protocols/Tox/src/tox_address.h
index d205eb731e..a4b152427d 100644
--- a/protocols/Tox/src/tox_address.h
+++ b/protocols/Tox/src/tox_address.h
@@ -53,11 +53,6 @@ public:
}
ToxBinAddress(const char *hex)
{
- if (hex == NULL) {
- binData.resize(32);
- return;
- }
-
char *endptr;
const char *pos = hex;
int size = mir_strlen(hex) / 2;
diff --git a/protocols/Tox/src/tox_network.cpp b/protocols/Tox/src/tox_network.cpp
index 53c83085c0..70ea5665c4 100644
--- a/protocols/Tox/src/tox_network.cpp
+++ b/protocols/Tox/src/tox_network.cpp
@@ -34,7 +34,10 @@ void CToxProto::BootstrapDht()
int port = db_get_w(NULL, "TOX", setting, 0);
mir_snprintf(setting, SIZEOF(setting), TOX_SETTINGS_NODE_PKEY, i + 1);
ptrA pubKey(db_get_sa(NULL, "TOX", setting));
- tox_bootstrap_from_address(tox, address, port, ToxBinAddress(pubKey));
+ if (pubKey && address)
+ {
+ tox_bootstrap_from_address(tox, address, port, ToxBinAddress(pubKey));
+ }
}
}
}