[net.unix-wizards] another 4.2 UDP bug fix

RWS%mit-xx@sri-unix.UUCP (11/04/83)

From:  Robert W. Scheifler <RWS@mit-xx>

In udp_input(), the code
          if (udpcksum) {
                    ui->ui_next = ui->ui_prev = 0;
                    ui->ui_x1 = 0;
                    ui->ui_len = htons((u_short)len);
                    if (ui->ui_sum = in_cksum(m, len + sizeof (struct ip))) {
                              udpstat.udps_badsum++;
                              m_freem(m);
                              return;
                    }
          }
should be changed to
          if (udpcksum && ui->ui_sum) {
                    register u_short csum = ui->ui_sum;

                    ui->ui_next = ui->ui_prev = 0;
                    ui->ui_x1 = 0;
                    ui->ui_len = htons((u_short)len);
                    ui->ui_sum = 0;
                    if (csum != in_cksum(m, len + sizeof (struct ip))) {
                              udpstat.udps_badsum++;
                              m_freem(m);
                              return;
                    }
          }
-------