From 7618628ff3c469af38d9c58840e5d0c8fde7156a Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Wed, 15 Sep 2010 04:53:34 +0000 Subject: rpc-transport.c: handle a double free * 'this->name' was getting freed in '(transport)->fini()'. Signed-off-by: Amar Tumballi Signed-off-by: Vijay Bellur BUG: 1605 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1605 --- rpc/rpc-lib/src/rpc-transport.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'rpc/rpc-lib/src/rpc-transport.c') diff --git a/rpc/rpc-lib/src/rpc-transport.c b/rpc/rpc-lib/src/rpc-transport.c index 29f02811f..39256d242 100644 --- a/rpc/rpc-lib/src/rpc-transport.c +++ b/rpc/rpc-lib/src/rpc-transport.c @@ -1063,8 +1063,12 @@ rpc_transport_destroy (rpc_transport_t *this) if (this->fini) this->fini (this); + pthread_mutex_destroy (&this->lock); - GF_FREE (this->name); + + if (this->name) + GF_FREE (this->name); + GF_FREE (this); fail: return ret; -- cgit