From db16111e9f948069fc89d6653b6bd92f31808e65 Mon Sep 17 00:00:00 2001 From: Sunny Kumar Date: Tue, 14 Aug 2018 14:41:16 +0530 Subject: meta : fix coverity in meta-helpers.c This fixes CID 1214627 and 1257625. updates: bz#789278 Change-Id: I6eb1ccf7b498948d1c41ff830e65437ef818cd55 Signed-off-by: Sunny Kumar --- xlators/meta/src/meta-helpers.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'xlators/meta/src/meta-helpers.c') diff --git a/xlators/meta/src/meta-helpers.c b/xlators/meta/src/meta-helpers.c index e681af59bf7..bffbe737ebb 100644 --- a/xlators/meta/src/meta-helpers.c +++ b/xlators/meta/src/meta-helpers.c @@ -23,18 +23,18 @@ meta_fd_get (fd_t *fd, xlator_t *this) LOCK (&fd->lock); { - __fd_ctx_get (fd, this, &value); - if (!value) { - meta_fd = GF_CALLOC (1, sizeof (*meta_fd), - gf_meta_mt_fd_t); - if (!meta_fd) - goto unlock; - - value = (long) meta_fd; - __fd_ctx_set (fd, this, value); - } - - meta_fd = (void *) value; + if (__fd_ctx_get (fd, this, &value) < 0) { + if (!value) { + meta_fd = GF_CALLOC (1, sizeof (*meta_fd), + gf_meta_mt_fd_t); + if (!meta_fd) + goto unlock; + value = (long) meta_fd; + __fd_ctx_set (fd, this, value); + } + } else { + meta_fd = (void *)value; + } } unlock: UNLOCK (&fd->lock); @@ -53,7 +53,7 @@ meta_fd_release (fd_t *fd, xlator_t *this) fd_ctx_get (fd, this, &value); meta_fd = (void *) value; - if (meta_fd->dirents) { + if (meta_fd && meta_fd->dirents) { for (i = 0; i < meta_fd->size; i++) GF_FREE ((void *)meta_fd->dirents[i].name); GF_FREE (meta_fd->dirents); -- cgit