diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-09-16 13:19:52 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-09-16 13:19:52 +0000 |
commit | b2a1e480c719a09d373005c507d77d0303f263a7 (patch) | |
tree | 1946333165f2cfe58933074a62b2c7dba5f9d173 /src/util/network.c | |
parent | 3554b417a8ad6f0017a2dac707e0bacc3ee65ae2 (diff) | |
download | gnunet-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.c | 14 |
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 | */ | ||
486 | void | ||
487 | GNUNET_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 | ||