aboutsummaryrefslogtreecommitdiff
path: root/src/util/network.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-09-16 13:19:52 +0000
committerChristian Grothoff <christian@grothoff.org>2013-09-16 13:19:52 +0000
commitb2a1e480c719a09d373005c507d77d0303f263a7 (patch)
tree1946333165f2cfe58933074a62b2c7dba5f9d173 /src/util/network.c
parent3554b417a8ad6f0017a2dac707e0bacc3ee65ae2 (diff)
downloadgnunet-b2a1e480c719a09d373005c507d77d0303f263a7.tar.gz
gnunet-b2a1e480c719a09d373005c507d77d0303f263a7.zip
add GNUNET_NETWORK_socket_free_memory_only_ API to allow getting raw FD and releasing struct without leaking 'addr' member
Diffstat (limited to 'src/util/network.c')
-rw-r--r--src/util/network.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/util/network.c b/src/util/network.c
index a9aa4394f..29dfe15c7 100644
--- a/src/util/network.c
+++ b/src/util/network.c
@@ -473,9 +473,21 @@ GNUNET_NETWORK_socket_close (struct GNUNET_NETWORK_Handle *desc)
473 } 473 }
474#endif 474#endif
475#endif 475#endif
476 GNUNET_NETWORK_socket_free_memory_only_ (desc);
477 return (ret == 0) ? GNUNET_OK : GNUNET_SYSERR;
478}
479
480
481/**
482 * Only free memory of a socket, keep the file descriptor untouched.
483 *
484 * @param desc socket
485 */
486void
487GNUNET_NETWORK_socket_free_memory_only_ (struct GNUNET_NETWORK_Handle *desc)
488{
476 GNUNET_free_non_null (desc->addr); 489 GNUNET_free_non_null (desc->addr);
477 GNUNET_free (desc); 490 GNUNET_free (desc);
478 return (ret == 0) ? GNUNET_OK : GNUNET_SYSERR;
479} 491}
480 492
481 493