aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-01-04 21:43:39 +0100
committerChristian Grothoff <christian@grothoff.org>2018-01-04 21:43:39 +0100
commitd7d5c67e4f3029047c81e85340c5e4d99033514c (patch)
tree71136a33e6d0004ca27069e74154521a707a6479 /src/transport
parentd80d0024d8189cf2d15868c08190758e6cbb0f85 (diff)
downloadgnunet-d7d5c67e4f3029047c81e85340c5e4d99033514c.tar.gz
gnunet-d7d5c67e4f3029047c81e85340c5e4d99033514c.zip
fix UDP memory leak
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/plugin_transport_udp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c
index 1ff962544..f214e7be4 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -1631,6 +1631,7 @@ enqueue (struct Plugin *plugin,
1631 if (GNUNET_YES == session->in_destroy) 1631 if (GNUNET_YES == session->in_destroy)
1632 { 1632 {
1633 GNUNET_break (0); 1633 GNUNET_break (0);
1634 GNUNET_free (udpw);
1634 return; 1635 return;
1635 } 1636 }
1636 if (plugin->bytes_in_buffer > INT64_MAX - udpw->msg_size) 1637 if (plugin->bytes_in_buffer > INT64_MAX - udpw->msg_size)
@@ -1913,8 +1914,8 @@ enqueue_fragment (void *cls,
1913 udpw->qc = &qc_fragment_sent; 1914 udpw->qc = &qc_fragment_sent;
1914 udpw->qc_cls = plugin; 1915 udpw->qc_cls = plugin;
1915 GNUNET_memcpy (udpw->msg_buf, 1916 GNUNET_memcpy (udpw->msg_buf,
1916 msg, 1917 msg,
1917 msg_len); 1918 msg_len);
1918 enqueue (plugin, 1919 enqueue (plugin,
1919 udpw); 1920 udpw);
1920 if (session->address->address_length == sizeof (struct IPv4UdpAddress)) 1921 if (session->address->address_length == sizeof (struct IPv4UdpAddress))