Commit b65c513d authored by Alessandro Rubini's avatar Alessandro Rubini

net: create_socket: allow addr to be NULL

Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
parent 15e0cd25
......@@ -71,16 +71,15 @@ void ipv4_init(void)
needIP = 1;
/* Bootp: use UDP engine activated but function arguments */
memset(&saddr, 0, sizeof(saddr));
bootp_socket = ptpd_netif_create_socket(&__static_bootp_socket, &saddr,
bootp_socket = ptpd_netif_create_socket(&__static_bootp_socket, NULL,
PTPD_SOCK_UDP, 68 /* bootpc */);
/* time (rdate): UDP */
rdate_socket = ptpd_netif_create_socket(&__static_rdate_socket, &saddr,
rdate_socket = ptpd_netif_create_socket(&__static_rdate_socket, NULL,
PTPD_SOCK_UDP, 37 /* time */);
/* ICMP: specify raw (not UDP), with IPV4 ethtype */
memset(&saddr, 0, sizeof(saddr));
saddr.ethertype = htons(0x0800);
icmp_socket = ptpd_netif_create_socket(&__static_icmp_socket, &saddr,
PTPD_SOCK_RAW_ETHERNET, 0);
......
......@@ -75,7 +75,9 @@ struct wrpc_socket *ptpd_netif_create_socket(struct wrpc_socket *sock,
return NULL;
/* copy and complete the bind information. If MAC is 0 use unicast */
memcpy(&sock->bind_addr, bind_addr, sizeof(struct wr_sockaddr));
memset(&sock->bind_addr, 0, sizeof(struct wr_sockaddr));
if (bind_addr)
memcpy(&sock->bind_addr, bind_addr, sizeof(struct wr_sockaddr));
if (!memcmp(sock->bind_addr.mac, zero_mac, ETH_ALEN))
get_mac_addr(sock->bind_addr.mac);
sock->bind_addr.udpport = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment