Index: uspace/srv/net/tl/udp/udp.c
===================================================================
--- uspace/srv/net/tl/udp/udp.c	(revision 918e9910a408edff4d948fec80491d4c2945dc05)
+++ uspace/srv/net/tl/udp/udp.c	(revision 1e2e0c1eeb07d0d3faf4a5b53314c73e3b0c1a2a)
@@ -604,5 +604,7 @@
 			return udp_release_and_return( packet, result );
 		}
-		packet = pq_add( packet, next_packet, index, 0 );
+		if( ERROR_OCCURRED( pq_add( & packet, next_packet, index, 0 ))){
+			return udp_release_and_return( packet, ERROR_CODE );
+		}
 		total_length += ( size_t ) result;
 		if( udp_globals.checksum_computing ){
