From 8c1f834a4a9c21f454ee0c034d14df93c4bb4909 Mon Sep 17 00:00:00 2001 From: Sylvain Rochet Date: Mon, 11 May 2015 11:21:08 +0200 Subject: [PATCH] fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with MEM_ALIGNMENT 1 or 2 We used a static 4 instead of MEM_ALIGNMENT earlier, however it broke things for MEM_ALIGNMENT 1 or 2, fixed using a LWIP_MIN(MEM_ALIGNMENT, 4) statement. --- src/core/tcp_out.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c index 4ec6e5de..ec42164b 100644 --- a/src/core/tcp_out.c +++ b/src/core/tcp_out.c @@ -816,7 +816,7 @@ tcp_enqueue_flags(struct tcp_pcb *pcb, u8_t flags) TCP_STATS_INC(tcp.memerr); return ERR_MEM; } - LWIP_ASSERT("seg->tcphdr not aligned", ((mem_ptr_t)seg->tcphdr % 4) == 0); + LWIP_ASSERT("seg->tcphdr not aligned", ((mem_ptr_t)seg->tcphdr % LWIP_MIN(MEM_ALIGNMENT, 4)) == 0); LWIP_ASSERT("tcp_enqueue_flags: invalid segment length", seg->len == 0); LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_TRACE,