diff packet.c @ 990:e3614649b1f5

Integrity error (bad packet size %u) negative length When corrupted packet is received negative length of packet is displayed. (re-apply of pull request #8)
author Fedor Brunner <fedor.brunner@azet.sk>
date Fri, 23 Jan 2015 22:21:06 +0800
parents c4f138dae2fd
children aac0095dc3b4
line wrap: on
line diff
--- a/packet.c	Tue Jan 13 20:55:04 2015 +0800
+++ b/packet.c	Fri Jan 23 22:21:06 2015 +0800
@@ -283,14 +283,14 @@
 	}
 	len = buf_getint(ses.readbuf) + 4 + macsize;
 
-	TRACE2(("packet size is %d, block %d mac %d", len, blocksize, macsize))
+	TRACE2(("packet size is %u, block %u mac %u", len, blocksize, macsize))
 
 
 	/* check packet length */
 	if ((len > RECV_MAX_PACKET_LEN) ||
 		(len < MIN_PACKET_LEN + macsize) ||
 		((len - macsize) % blocksize != 0)) {
-		dropbear_exit("Integrity error (bad packet size %d)", len);
+		dropbear_exit("Integrity error (bad packet size %u)", len);
 	}
 
 	if (len > ses.readbuf->size) {
@@ -342,7 +342,7 @@
 	/* - 4 - 1 is for LEN and PADLEN values */
 	len = ses.readbuf->len - padlen - 4 - 1 - macsize;
 	if ((len > RECV_MAX_PAYLOAD_LEN+ZLIB_COMPRESS_EXPANSION) || (len < 1)) {
-		dropbear_exit("Bad packet size %d", len);
+		dropbear_exit("Bad packet size %u", len);
 	}
 
 	buf_setpos(ses.readbuf, PACKET_PAYLOAD_OFF);