diff --git a/src/socket/dns.rs b/src/socket/dns.rs index 21f40e1a3..abb0f0caa 100644 --- a/src/socket/dns.rs +++ b/src/socket/dns.rs @@ -616,7 +616,15 @@ impl<'a> Socket<'a> { }; let dst_addr = servers[pq.server_idx]; - let src_addr = cx.get_source_address(&dst_addr).unwrap(); // TODO remove unwrap + let src_addr = match cx.get_source_address(&dst_addr) { + Some(src_addr) => src_addr, + None => { + net_trace!("no source address for destination {}", dst_addr); + q.set_state(State::Failure); + continue; + } + }; + let ip_repr = IpRepr::new( src_addr, dst_addr,