From 43c83102440f193847005598c6f51b6c95642a90 Mon Sep 17 00:00:00 2001 From: Ignat Korchagin Date: Thu, 29 Oct 2015 16:30:28 +0100 Subject: [PATCH] tcp: Fix uninited mac address when accepting connection. --- grub-core/net/tcp.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/grub-core/net/tcp.c b/grub-core/net/tcp.c index 1d90f1ec5..9e81a0a85 100644 --- a/grub-core/net/tcp.c +++ b/grub-core/net/tcp.c @@ -498,11 +498,22 @@ grub_net_tcp_accept (grub_net_tcp_socket_t sock, struct grub_net_buff *nb_ack; struct tcphdr *tcph; grub_err_t err; + grub_net_network_level_address_t gateway; + struct grub_net_network_level_interface *inf; sock->recv_hook = recv_hook; sock->error_hook = error_hook; sock->fin_hook = fin_hook; sock->hook_data = hook_data; + + err = grub_net_route_address (sock->out_nla, &gateway, &inf); + if (err) + return err; + + err = grub_net_link_layer_resolve (sock->inf, &gateway, &(sock->ll_target_addr)); + if (err) + return err; + nb_ack = grub_netbuff_alloc (sizeof (*tcph) + GRUB_NET_OUR_MAX_IP_HEADER_SIZE + GRUB_NET_MAX_LINK_HEADER_SIZE);