Index: uspace/lib/c/generic/inet.c
===================================================================
--- uspace/lib/c/generic/inet.c	(revision ef1ddad20408830a360e344025b7a34ea5111d52)
+++ uspace/lib/c/generic/inet.c	(revision f1a8c2379906b64332f30f0aabf7f074666d74a7)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2012 Jiri Svoboda
+ * Copyright (c) 2013 Jiri Svoboda
  * All rights reserved.
  *
@@ -34,4 +34,5 @@
 #include <ipc/services.h>
 #include <loc.h>
+#include <stdlib.h>
 
 static void inet_cb_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg);
@@ -224,4 +225,5 @@
 	
 	rc = inet_ev_ops->recv(&dgram);
+	free(dgram.data);
 	async_answer_0(iid, rc);
 }
Index: uspace/srv/net/udp/udp_inet.c
===================================================================
--- uspace/srv/net/udp/udp_inet.c	(revision ef1ddad20408830a360e344025b7a34ea5111d52)
+++ uspace/srv/net/udp/udp_inet.c	(revision f1a8c2379906b64332f30f0aabf7f074666d74a7)
@@ -71,4 +71,7 @@
 
 	udp_received_pdu(pdu);
+
+	/* We don't want udp_pdu_delete() to free dgram->data */
+	pdu->data = NULL;
 	udp_pdu_delete(pdu);
 
