diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2014-11-21 14:00:23 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-11-24 22:22:54 +0100 |
commit | bbaa6a48b46f02edfeacc7c32b442ecad24c9430 (patch) | |
tree | 6f734270e6abc056cd5d7ca2539b3c9d5af4d4e7 | |
parent | 3cc9377bfce8bfda69244f7d79ce0062c60faa65 (diff) | |
download | sssd-bbaa6a48b46f02edfeacc7c32b442ecad24c9430.tar.gz sssd-bbaa6a48b46f02edfeacc7c32b442ecad24c9430.tar.xz sssd-bbaa6a48b46f02edfeacc7c32b442ecad24c9430.zip |
sss_client: Extract destroying of mmap cache to function
Reviewed-by: Michal Židek <mzidek@redhat.com>
(cherry picked from commit 19f6a6733b5c6cf7dd2f6f746cfa5c787706331c)
-rw-r--r-- | src/sss_client/nss_mc_common.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/sss_client/nss_mc_common.c b/src/sss_client/nss_mc_common.c index 119d528c0..7845f8389 100644 --- a/src/sss_client/nss_mc_common.c +++ b/src/sss_client/nss_mc_common.c @@ -102,6 +102,18 @@ errno_t sss_nss_check_header(struct sss_cli_mc_ctx *ctx) return 0; } +static void sss_nss_mc_destroy_ctx(struct sss_cli_mc_ctx *ctx) +{ + if ((ctx->mmap_base != NULL) && (ctx->mmap_size != 0)) { + munmap(ctx->mmap_base, ctx->mmap_size); + } + if (ctx->fd != -1) { + close(ctx->fd); + } + memset(ctx, 0, sizeof(struct sss_cli_mc_ctx)); + ctx->fd = -1; +} + static errno_t sss_nss_mc_init_ctx(const char *name, struct sss_cli_mc_ctx *ctx) { @@ -157,14 +169,7 @@ static errno_t sss_nss_mc_init_ctx(const char *name, done: if (ret) { - if ((ctx->mmap_base != NULL) && (ctx->mmap_size != 0)) { - munmap(ctx->mmap_base, ctx->mmap_size); - } - if (ctx->fd != -1) { - close(ctx->fd); - } - memset(ctx, 0, sizeof(struct sss_cli_mc_ctx)); - ctx->fd = -1; + sss_nss_mc_destroy_ctx(ctx); } free(file); sss_nss_unlock(); @@ -191,14 +196,7 @@ errno_t sss_nss_mc_get_ctx(const char *name, struct sss_cli_mc_ctx *ctx) done: if (ret) { - if ((ctx->mmap_base != NULL) && (ctx->mmap_size != 0)) { - munmap(ctx->mmap_base, ctx->mmap_size); - } - if (ctx->fd != -1) { - close(ctx->fd); - } - memset(ctx, 0, sizeof(struct sss_cli_mc_ctx)); - ctx->fd = -1; + sss_nss_mc_destroy_ctx(ctx); } return ret; } |