From 6c16974a0ed485c72f84922fcf67b76ac8f64358 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Thu, 14 Apr 2011 03:45:20 +0000 Subject: cluster/afr: Avoid null dereference Signed-off-by: Pranith Kumar K Signed-off-by: Anand Avati BUG: 2750 ([glusterfs-3.2.0qa11]: nfs server crashed in afr_sh_entry_expunge_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2750 --- xlators/cluster/afr/src/afr-self-heal-entry.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'xlators/cluster/afr/src/afr-self-heal-entry.c') diff --git a/xlators/cluster/afr/src/afr-self-heal-entry.c b/xlators/cluster/afr/src/afr-self-heal-entry.c index a5c7109e5cd..88bf2448d15 100644 --- a/xlators/cluster/afr/src/afr-self-heal-entry.c +++ b/xlators/cluster/afr/src/afr-self-heal-entry.c @@ -617,7 +617,6 @@ afr_sh_entry_expunge_purge (call_frame_t *expunge_frame, xlator_t *this, return 0; } - int afr_sh_entry_expunge_entry_cbk (call_frame_t *expunge_frame, void *cookie, xlator_t *this, @@ -643,6 +642,8 @@ afr_sh_entry_expunge_entry_cbk (call_frame_t *expunge_frame, void *cookie, if (op_ret == -1 && op_errno == ENOENT) need_expunge = 1; + else if (op_ret == -1) + goto out; if (!uuid_is_null (expunge_sh->entrybuf.ia_gfid) && !uuid_is_null (buf->ia_gfid) && @@ -672,6 +673,7 @@ afr_sh_entry_expunge_entry_cbk (call_frame_t *expunge_frame, void *cookie, return 0; } +out: if (op_ret == 0) { gf_log (this->name, GF_LOG_TRACE, "%s exists under %s", -- cgit