diff options
author | mohit84 <moagrawa@redhat.com> | 2021-02-22 10:09:34 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-22 10:09:34 +0530 |
commit | adf95699621f084f2503d8dd15e519bab778906f (patch) | |
tree | 5b93e052cf39e0da0fd793209529e83833b5efcf /xlators | |
parent | 1ce8e8f5ea5d18f7e5ac669cd1c79b6966533f74 (diff) | |
download | glusterfs-adf95699621f084f2503d8dd15e519bab778906f.tar.gz glusterfs-adf95699621f084f2503d8dd15e519bab778906f.tar.xz glusterfs-adf95699621f084f2503d8dd15e519bab778906f.zip |
glusterd: Resolve use after free bug (#2181)
In the commit 61ae58e67567ea4de8f8efc6b70a9b1f8e0f1bea
introduced a coverity bug use object after cleanup
the object.
Cleanup memory after comeout from a critical section
Fixes: #2180
Change-Id: Iee2050c4883a0dd44b8523bb822b664462ab6041
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 71d546e904..e4e1185af6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -149,11 +149,10 @@ glusterd_defrag_unref(glusterd_defrag_info_t *defrag) LOCK(&defrag->lock); { refcnt = --defrag->refcnt; - if (refcnt <= 0) - GF_FREE(defrag); } UNLOCK(&defrag->lock); - + if (refcnt <= 0) + GF_FREE(defrag); out: return refcnt; } |