Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!RWS@mit-xx From: RWS%mit-xx@sri-unix.UUCP Newsgroups: net.unix-wizards Subject: another 4.2 UDP bug fix Message-ID: <13356@sri-arpa.UUCP> Date: Fri, 4-Nov-83 15:31:00 EST Article-I.D.: sri-arpa.13356 Posted: Fri Nov 4 15:31:00 1983 Date-Received: Tue, 8-Nov-83 02:36:10 EST Lines: 28 From: Robert W. Scheifler 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; } } -------