# HG changeset patch # User Fedor Brunner # Date 1422022866 -28800 # Node ID e3614649b1f5c14c107e9e616d5848f0424fb7da # Parent 6c0fb5428aaa0f0156029f24c24984e72199fa5a 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) diff -r 6c0fb5428aaa -r e3614649b1f5 packet.c --- 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);