I think I tracked the problem down. I had this situation several times:
(R = remote; L = LWIP)
1: R -> L  Syn
2: L -> R  Ack, Syn
3: R -> L  Ack          (probably missed)
4: R -> L  POST Data    (probably missed)
...
n: R -> L  Fin, Ack

After line 1 and 2 pcb->state should be SYN_SENT. I assume line 3 and 4 are missed. The next received packet is line n (Fin, Ack), so tcp_process does a tcp_rst. But the pbuf that contains line n is never freed!

I think tcp_process should return an error to free pbuf.

Please correct me when I'm wrong.

Gustl





_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to