I agree. This is definitely a bug. I've filed a bug report for it on Savannah.

https://savannah.nongnu.org/bugs/index.php?27199

Well spotted.
  ----- Original Message ----- 
  From: Mousom 
  To: [email protected] 
  Sent: Thursday, August 06, 2009 10:11 PM
  Subject: [lwip-users] Bug in tcp_receive()?


          if (flags & TCP_ACK) {
            right_wnd_edge = pcb->snd_wnd + pcb->snd_wl1;

        Should not this be?
          if (flags & TCP_ACK) {
            right_wnd_edge = pcb->snd_wnd + pcb->snd_wl2;

        Also later
              if (pcb->snd_wl1 + pcb->snd_wnd == right_wnd_edge){
        seems to be wrong and should be
              if (pcb->snd_wl2 + pcb->snd_wnd == right_wnd_edge){ 

There is also a third reference in a debug message.
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to