diff --git a/src/net/Resolver.cxx b/src/net/Resolver.cxx
index 19da604e0..be23cf1f4 100644
--- a/src/net/Resolver.cxx
+++ b/src/net/Resolver.cxx
@@ -111,8 +111,7 @@ Resolve(const char *host_and_port, int default_port,
 		if (eh.host.size() >= sizeof(buffer))
 			throw std::runtime_error("Host name too long");
 
-		memcpy(buffer, eh.host.data(), eh.host.size());
-		buffer[eh.host.size()] = 0;
+		*std::copy(eh.host.begin(), eh.host.end(), buffer) = 0;
 		host = buffer;
 
 #ifndef _WIN32