summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/requests/login.h
diff options
context:
space:
mode:
authorMikalaiR <nikolay.romanovich@narod.ru>2016-04-17 09:00:30 +0000
committerMikalaiR <nikolay.romanovich@narod.ru>2016-04-17 09:00:30 +0000
commit374784a1370ad0c375126227134367c7775bb515 (patch)
tree5cfd4dd294a09ba4d08d1a20d204dea124498a26 /protocols/SkypeWeb/src/requests/login.h
parent718261d4eb8c2d824ed97e387a8f07eea797aa1b (diff)
SkypeWeb: memleaks fix
git-svn-id: http://svn.miranda-ng.org/main/trunk@16680 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/SkypeWeb/src/requests/login.h')
-rw-r--r--protocols/SkypeWeb/src/requests/login.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/protocols/SkypeWeb/src/requests/login.h b/protocols/SkypeWeb/src/requests/login.h
index 045e852bc2..7314f58d2e 100644
--- a/protocols/SkypeWeb/src/requests/login.h
+++ b/protocols/SkypeWeb/src/requests/login.h
@@ -21,24 +21,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
class LoginOAuthRequest : public HttpRequest
{
public:
- LoginOAuthRequest(const char *username, const char *password) :
+ LoginOAuthRequest(CMStringA username, const char *password) :
HttpRequest(REQUEST_POST, "api.skype.com/login/skypetoken")
{
- CMStringA user(username); user.MakeLower();
-
- pass_ptrA str(CMStringA(::FORMAT, "%s\nskyper\n%s", user, password).Detach());
+ username.MakeLower();
+ CMStringA hashStr(::FORMAT, "%s\nskyper\n%s", username, password);
BYTE digest[16];
-
- mir_md5_hash((BYTE*)((char*)str), mir_strlen(str), digest);
-
- pass_ptrA hash(mir_base64_encode(digest, sizeof(digest)));
+ mir_md5_hash((const BYTE*)hashStr.GetString(), hashStr.GetLength(), digest);
Body
<< CHAR_VALUE("scopes", "client")
<< CHAR_VALUE("clientVersion", ptrA(mir_urlEncode("0/7.4.85.102/259/")))
- << CHAR_VALUE("username", ptrA(mir_urlEncode(user)))
- << CHAR_VALUE("passwordHash", pass_ptrA(mir_urlEncode(hash)));
+ << CHAR_VALUE("username", ptrA(mir_urlEncode(username)))
+ << CHAR_VALUE("passwordHash", pass_ptrA(mir_urlEncode(ptrA(mir_base64_encode(digest, sizeof(digest))))));
}
};