Mercurial > pidgin.yaz
diff libpurple/ntlm.c @ 31449:1c660ba17ba1
propagate from branch 'im.pidgin.pidgin' (head 6f879669a6513a5c40335bbaefe842389a92b39e)
to branch 'im.pidgin.cpw.qulogic.cairo' (head 4ab0199887f74442673fd46dcbb662bc7f070bc4)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sun, 21 Nov 2010 20:30:12 +0000 |
parents | 943fce8ef142 |
children | a13744df700c |
line wrap: on
line diff
--- a/libpurple/ntlm.c Sat Aug 21 06:04:13 2010 +0000 +++ b/libpurple/ntlm.c Sun Nov 21 20:30:12 2010 +0000 @@ -152,9 +152,14 @@ static guint8 nonce[8]; tmsg = (struct type2_message*)purple_base64_decode(type2, &retlen); - memcpy(nonce, tmsg->nonce, 8); - if (flags != NULL) - *flags = GUINT16_FROM_LE(tmsg->flags); + if (tmsg != NULL && retlen >= (sizeof(struct type2_message) - 1)) { + memcpy(nonce, tmsg->nonce, 8); + if (flags != NULL) + *flags = GUINT16_FROM_LE(tmsg->flags); + } else { + purple_debug_error("ntlm", "Unable to parse type2 message - returning empty nonce.\n"); + memset(nonce, 0, 8); + } g_free(tmsg); return nonce;