aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/ns.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-08-29 11:39:27 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2010-08-29 11:39:27 +0200
commit02bb9db2edd535036e030e004a58ed1459c15bb8 (patch)
tree703a93ad7a12c652f27d200d7a6d6a16aa4b7d50 /protocols/msn/ns.c
parentfeb1bad3303f9e5b7d6afa0bfe3ad57e8714dc52 (diff)
Handle payloads attached to errors (assume any number in cmd[2] would be
a payload length, which seems like a fair assumption). This should solve problems with logging in with dodgy contact/membership lists.
Diffstat (limited to 'protocols/msn/ns.c')
-rw-r--r--protocols/msn/ns.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c
index bd13c3a6..fa445aa7 100644
--- a/protocols/msn/ns.c
+++ b/protocols/msn/ns.c
@@ -518,6 +518,10 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )
imc_logout( ic, TRUE );
return( 0 );
}
+
+ /* Oh yes, errors can have payloads too now. Discard them for now. */
+ if( num_parts >= 3 )
+ md->handler->msglen = atoi( cmd[2] );
}
else
{