summaryrefslogtreecommitdiff
path: root/protocols/MSN/src/msn_soapab.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2015-05-15 13:31:23 +0000
committerGeorge Hazan <george.hazan@gmail.com>2015-05-15 13:31:23 +0000
commit03db06c52cad84ecb2bf0b3fff8a518ff895dc19 (patch)
tree33051c9755dca9745607c6fafd233fc5f5f307b6 /protocols/MSN/src/msn_soapab.cpp
parent714b5dfb8f159c8d54ef42c905c3c85f4b4e7962 (diff)
- crash fix in chats;
- static buffer returned, now with buffer overrun control; - warnings fixed git-svn-id: http://svn.miranda-ng.org/main/trunk@13604 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/MSN/src/msn_soapab.cpp')
-rw-r--r--protocols/MSN/src/msn_soapab.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/protocols/MSN/src/msn_soapab.cpp b/protocols/MSN/src/msn_soapab.cpp
index d32301b291..8c79783a06 100644
--- a/protocols/MSN/src/msn_soapab.cpp
+++ b/protocols/MSN/src/msn_soapab.cpp
@@ -909,19 +909,21 @@ bool CMsnProto::MSN_ABRefreshClist(void)
if (mycid && !strcmp(cid, mycid)) continue;
for (ezxml_t cont = ezxml_get(pers, "contacts", 0, "Contact", -1); cont != NULL; cont = ezxml_next(cont)) {
- int netId = NETID_UNKNOWN;
+ int netId;
const char* szEmail;
const char *src = ezxml_txt(ezxml_child(cont, "sourceId"));
if (!strcmp(src, "WL")) {
netId = NETID_MSN;
szEmail = ezxml_txt(ezxml_child(cont, "domainTag"));
- } else if (!strcmp(src, "SKYPE")) {
+ }
+ else if (!strcmp(src, "SKYPE")) {
netId = NETID_SKYPE;
szEmail = ezxml_txt(ezxml_child(cont, "objectId"));
}
+ else continue;
- if (netId == NETID_UNKNOWN || szEmail[0] == 0)
+ if (mir_strlen(szEmail) == 0)
continue;
ezxml_t xmlnick = ezxml_child(pers, "nickname");