diff --git a/slirp/tftp.c b/slirp/tftp.c index 50e714807d9b52045d80f426107e5262afa3fc61..a9bc4bb1b65819f10cb5f3029b9c6839e4a840cc 100644 --- a/slirp/tftp.c +++ b/slirp/tftp.c @@ -70,7 +70,7 @@ static int tftp_session_allocate(Slirp *slirp, struct sockaddr_storage *srcsas, found: memset(spt, 0, sizeof(*spt)); - spt->client_addr = *srcsas; + memcpy(&spt->client_addr, srcsas, sockaddr_size(srcsas)); spt->fd = -1; spt->block_size = 512; spt->client_port = tp->udp.uh_sport;