fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4

This commit is contained in:
Simon Goldschmidt 2011-10-12 18:17:07 +02:00
parent ab51f3bec0
commit c74d881d3d
2 changed files with 6 additions and 2 deletions

View File

@ -69,6 +69,9 @@ HISTORY
++ Bugfixes:
2011-10-12: Simon Goldschmidt
* pbuf.c: fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4
2011-10-09: Simon Goldschmidt
* tcp_out.c: fixed bug #34426: tcp_zero_window_probe() transmits incorrect
byte value when pcb->unacked != NULL

View File

@ -358,7 +358,8 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
* @param p pointer to the custom pbuf to initialize (already allocated)
* @param payload_mem pointer to the buffer that is used for payload and headers,
* must be at least big enough to hold 'length' plus the header size,
* may be NULL if set later
* may be NULL if set later.
* ATTENTION: The caller is responsible for correct alignment of this buffer!!
* @param payload_mem_len the size of the 'payload_mem' buffer, must be at least
* big enough to hold 'length' plus the header size
*/
@ -398,7 +399,7 @@ pbuf_alloced_custom(pbuf_layer l, u16_t length, pbuf_type type, struct pbuf_cust
p->pbuf.next = NULL;
if (payload_mem != NULL) {
p->pbuf.payload = LWIP_MEM_ALIGN((void *)((u8_t *)payload_mem + offset));
p->pbuf.payload = (u8_t *)payload_mem + LWIP_MEM_ALIGN_SIZE(offset);
} else {
p->pbuf.payload = NULL;
}