peer: Open code g_memdup

g_memdup got marked as depricated in favor for g_memdup2 since GLib
v2.68 which is the very same version g_memdup2 was introduced. We
don't want to increase the minium GLib version to latest greatest
hence open code this function.
diff --git a/src/peer.c b/src/peer.c
index c66b3a7..bad5c84 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -983,7 +983,10 @@
 
 	service = g_malloc0(sizeof(struct _peer_service));
 	service->type = type;
-	service->data = g_memdup(data, data_length * sizeof(unsigned char));
+	if (data_length > 0) {
+		service->data = g_malloc(data_length * sizeof(unsigned char));
+		memcpy(service->data, data, data_length * sizeof(unsigned char));
+	}
 	service->length = data_length;
 
 	peer->services = g_slist_prepend(peer->services, service);