diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-29 11:39:27 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-29 11:39:27 +0200 |
commit | 02bb9db2edd535036e030e004a58ed1459c15bb8 (patch) | |
tree | 703a93ad7a12c652f27d200d7a6d6a16aa4b7d50 /protocols/msn/ns.c | |
parent | feb1bad3303f9e5b7d6afa0bfe3ad57e8714dc52 (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.c | 4 |
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 { |