From d0a25c25746bcf245f8de828ccb8091d33fa57c8 Mon Sep 17 00:00:00 2001 From: goldsimon Date: Tue, 8 May 2012 07:40:46 +0200 Subject: [PATCH] fixed bug: #36380 unsent_oversize mismatch in 1.4.1RC1 (this was a debug-check issue only) --- CHANGELOG | 4 ++++ src/core/tcp_out.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 645e9eb8..3b292e07 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -66,6 +66,10 @@ HISTORY ++ Bugfixes: + 2012-05-08: Simon Goldschmidt + * tcp_out.c: fixed bug: #36380 unsent_oversize mismatch in 1.4.1RC1 (this was + a debug-check issue only) + 2012-03-27: Simon Goldschmidt * vj.c: fixed bug #35756 header length calculation problem in ppp/vj.c diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c index 81d1f272..ee19fe06 100644 --- a/src/core/tcp_out.c +++ b/src/core/tcp_out.c @@ -480,7 +480,7 @@ tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags) goto memerr; } #if TCP_OVERSIZE_DBGCHECK - last_unsent->oversize_left = oversize; + last_unsent->oversize_left += oversize; #endif /* TCP_OVERSIZE_DBGCHECK */ TCP_DATA_COPY2(concat_p->payload, (u8_t*)arg + pos, seglen, &concat_chksum, &concat_chksum_swapped); #if TCP_CHECKSUM_ON_COPY @@ -635,6 +635,8 @@ tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags) } last_unsent->len += oversize_used; #if TCP_OVERSIZE_DBGCHECK + LWIP_ASSERT("last_unsent->oversize_left >= oversize_used", + last_unsent->oversize_left >= oversize_used); last_unsent->oversize_left -= oversize_used; #endif /* TCP_OVERSIZE_DBGCHECK */ }