From 86d68cbcbd24e6dfe6dd1ed230c7806408b70668 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Fri, 18 Dec 2009 14:19:28 +0100 Subject: memory leaks related to OpenPGM errors fixed --- src/pgm_socket.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/pgm_socket.cpp') diff --git a/src/pgm_socket.cpp b/src/pgm_socket.cpp index 66f2396..8be64f8 100644 --- a/src/pgm_socket.cpp +++ b/src/pgm_socket.cpp @@ -141,13 +141,11 @@ int zmq::pgm_socket_t::open_transport () return -1; } - //zmq_log (1, "Transport GSI: %s, %s(%i)\n", pgm_print_gsi (&gsi), - // __FILE__, __LINE__); - struct pgm_transport_info_t *res = NULL; if (!pgm_if_get_transport_info (network, NULL, &res, &pgm_error)) { errno = EINVAL; + g_error_free (pgm_error); return -1; } @@ -160,10 +158,11 @@ int zmq::pgm_socket_t::open_transport () res->ti_udp_encap_mcast_port = port_number; } - if (!pgm_transport_create (&transport, res, &pgm_error)) { + if (!pgm_transport_create (&transport, res, &pgm_error)) { pgm_if_free_transport_info (res); // TODO: tranlate errors from glib into errnos. errno = EINVAL; + g_error_free (pgm_error); return -1; } @@ -318,6 +317,8 @@ int zmq::pgm_socket_t::open_transport () // Bind a transport to the specified network devices. if (!pgm_transport_bind (transport, &pgm_error)) { // TODO: tranlate errors from glib into errnos. + errno = EINVAL; + g_error_free (pgm_error); return -1; } @@ -514,6 +515,8 @@ ssize_t zmq::pgm_socket_t::receive (void **raw_data_, const pgm_tsi_t **tsi_) nbytes_rec = 0; // In case of dala loss -1 is returned. + errno = EINVAL; + g_error_free (pgm_error); return -1; } -- cgit v1.2.3