summaryrefslogtreecommitdiffstats
path: root/xlators/protocol
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2009-12-04 21:27:15 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-12-05 00:49:22 -0800
commit3e86687e74bdf4847f3e35063dfb46e9871d6959 (patch)
tree0b290745116737b146bcca04b9f42838e7e9ecd7 /xlators/protocol
parent89bbaa124af8c54bb7ca8b85ad5d40f0bb754e49 (diff)
fix crash in server protocol server-connection-destroy
a variable allocated inside a condition was getting reffered outside the block. If the condition fails, there used to be a crash. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 439 (crash in server protocol, while destroying connection) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=439
Diffstat (limited to 'xlators/protocol')
-rw-r--r--xlators/protocol/server/src/server-helpers.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/xlators/protocol/server/src/server-helpers.c b/xlators/protocol/server/src/server-helpers.c
index 112712e7f87..88dada1516e 100644
--- a/xlators/protocol/server/src/server-helpers.c
+++ b/xlators/protocol/server/src/server-helpers.c
@@ -831,13 +831,15 @@ server_connection_destroy (xlator_t *this, server_connection_t *conn)
}
}
- state = CALL_STATE (frame);
- if (state)
- free (state);
- STACK_DESTROY (frame->root);
+ if (frame) {
+ state = CALL_STATE (frame);
+ if (state)
+ free (state);
+ STACK_DESTROY (frame->root);
+ }
- gf_log (this->name, GF_LOG_INFO, "destroyed connection of %s",
- conn->id);
+ gf_log (this->name, GF_LOG_INFO, "destroyed connection of %s",
+ conn->id);
FREE (conn->id);
FREE (conn);