libpurple/protocols/mxit/protocol.c

branch
release-2.x.y
changeset 37839
5077da39b6de
parent 37825
1c5197a66760
parent 37810
19f89eda8587
child 37845
89b326ceca25
--- a/libpurple/protocols/mxit/protocol.c	Sun Jun 12 21:57:32 2016 -0500
+++ b/libpurple/protocols/mxit/protocol.c	Sun Jun 12 22:02:24 2016 -0500
@@ -2775,8 +2775,9 @@
 				/* the end of the length record found */
 				session->rx_lbuf[session->rx_i] = '\0';
 				session->rx_res = atoi( &session->rx_lbuf[3] );
-				if ( session->rx_res > CP_MAX_PACKET ) {
+				if ( ( session->rx_res <= 0 ) || ( session->rx_res > CP_MAX_PACKET ) ) {
 					purple_connection_error( session->con, _( "A connection error occurred to MXit. (read stage 0x03)" ) );
+					return;
 				}
 				session->rx_state = RX_STATE_DATA;
 				session->rx_i = 0;

mercurial