Slirp UDP fix, by Jason Wessel.
[qemu] / slirp / udp.c
index 0d70970..8cf4cbd 100644 (file)
@@ -205,8 +205,6 @@ udp_input(m, iphlen)
          /* udp_last_so = so; */
          so->so_laddr = ip->ip_src;
          so->so_lport = uh->uh_sport;
-         so->so_faddr = ip->ip_dst; /* XXX */
-         so->so_fport = uh->uh_dport; /* XXX */
          
          if ((so->so_iptos = udp_tos(so)) == 0)
            so->so_iptos = ip->ip_tos;
@@ -217,6 +215,9 @@ udp_input(m, iphlen)
           */
        }
 
+        so->so_faddr = ip->ip_dst; /* XXX */
+        so->so_fport = uh->uh_dport; /* XXX */
+
        iphlen += sizeof(struct udphdr);
        m->m_len -= iphlen;
        m->m_data += iphlen;