[fedfs-utils] [PATCH 10/15] fedfsc: Free resources allocated by the XDR decoded results
Chuck Lever
chuck.lever at oracle.com
Tue Oct 25 09:49:46 PDT 2011
This is not strictly necessary, since these are one-shot clients that
exit quickly. But it does clean up the output of valgrind so it's
easier to spot real leaks.
Signed-off-by: Chuck Lever <chuck.lever at oracle.com>
---
src/fedfsc/fedfs-get-limited-nsdb-params.c | 6 +++++-
src/fedfsc/fedfs-get-nsdb-params.c | 6 +++++-
src/fedfsc/fedfs-lookup-junction.c | 6 +++++-
src/fedfsc/fedfs-lookup-replication.c | 6 +++++-
4 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/fedfsc/fedfs-get-limited-nsdb-params.c b/src/fedfsc/fedfs-get-limited-nsdb-params.c
index 937f369..5524635 100644
--- a/src/fedfsc/fedfs-get-limited-nsdb-params.c
+++ b/src/fedfsc/fedfs-get-limited-nsdb-params.c
@@ -138,8 +138,12 @@ fedfs_get_limited_nsdb_params_call(const char *hostname, const char *nettype,
if (status != RPC_SUCCESS) {
clnt_perror(client, "FEDFS_GET_LIMITED_NSDB_PARAMS call failed");
result.status = FEDFS_ERR_SVRFAULT;
- } else
+ } else {
fedfs_get_limited_nsdb_params_print_result(result);
+ clnt_freeres(client,
+ (xdrproc_t)xdr_FedFsGetLimitedNsdbParamsRes,
+ (caddr_t)&result);
+ }
(void)clnt_destroy(client);
out:
diff --git a/src/fedfsc/fedfs-get-nsdb-params.c b/src/fedfsc/fedfs-get-nsdb-params.c
index 9f718f2..d2c58d3 100644
--- a/src/fedfsc/fedfs-get-nsdb-params.c
+++ b/src/fedfsc/fedfs-get-nsdb-params.c
@@ -140,8 +140,12 @@ fedfs_get_nsdb_params_call(const char *hostname, const char *nettype,
if (status != RPC_SUCCESS) {
clnt_perror(client, "FEDFS_GET_NSDB_PARAMS call failed");
result.status = FEDFS_ERR_SVRFAULT;
- } else
+ } else {
fedfs_get_nsdb_params_print_result(result);
+ clnt_freeres(client,
+ (xdrproc_t)xdr_FedFsGetNsdbParamsRes,
+ (caddr_t)&result);
+ }
(void)clnt_destroy(client);
out:
diff --git a/src/fedfsc/fedfs-lookup-junction.c b/src/fedfsc/fedfs-lookup-junction.c
index 5ce33cc..365ff43 100644
--- a/src/fedfsc/fedfs-lookup-junction.c
+++ b/src/fedfsc/fedfs-lookup-junction.c
@@ -247,8 +247,12 @@ fedfs_lookup_junction_call(const char *hostname, const char *nettype,
if (status != RPC_SUCCESS) {
clnt_perror(client, "FEDFS_LOOKUP_JUNCTION call failed");
result.status = FEDFS_ERR_SVRFAULT;
- } else
+ } else {
fedfs_lookup_junction_print_result(result);
+ clnt_freeres(client,
+ (xdrproc_t)xdr_FedFsLookupRes,
+ (caddr_t)&result);
+ }
(void)clnt_destroy(client);
out:
diff --git a/src/fedfsc/fedfs-lookup-replication.c b/src/fedfsc/fedfs-lookup-replication.c
index d33c45d..2de129b 100644
--- a/src/fedfsc/fedfs-lookup-replication.c
+++ b/src/fedfsc/fedfs-lookup-replication.c
@@ -252,8 +252,12 @@ fedfs_lookup_replication_call(const char *hostname, const char *nettype,
if (status != RPC_SUCCESS) {
clnt_perror(client, "FEDFS_LOOKUP_REPLICATION call failed");
result.status = FEDFS_ERR_SVRFAULT;
- } else
+ } else {
fedfs_lookup_replication_print_result(result);
+ clnt_freeres(client,
+ (xdrproc_t)xdr_FedFsLookupRes,
+ (caddr_t)&result);
+ }
(void)clnt_destroy(client);
out:
More information about the fedfs-utils-devel
mailing list