libpurple/protocols/mxit/protocol.c

branch
release-2.x.y
changeset 37810
19f89eda8587
parent 37663
2953de8b793c
child 37839
5077da39b6de
--- a/libpurple/protocols/mxit/protocol.c	Sun May 15 05:41:39 2016 -0300
+++ b/libpurple/protocols/mxit/protocol.c	Thu Jun 02 15:41:02 2016 -0500
@@ -2806,8 +2806,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