From 08e788c2c5a588976e15d6f989e9fb8ddd2dd2ed Mon Sep 17 00:00:00 2001 From: ftillier Date: Fri, 29 Jul 2005 05:57:21 +0000 Subject: [PATCH] Fix SA request IRP cancellation leaking handles, which could cause dereferencing freed memory. git-svn-id: svn://openib.tc.cornell.edu/gen1@51 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/core/al/kernel/al_proxy_subnet.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trunk/core/al/kernel/al_proxy_subnet.c b/trunk/core/al/kernel/al_proxy_subnet.c index df7d86d8..89465703 100644 --- a/trunk/core/al/kernel/al_proxy_subnet.c +++ b/trunk/core/al/kernel/al_proxy_subnet.c @@ -184,8 +184,9 @@ __proxy_cancel_sa_req( #pragma warning(pop) cl_spinlock_acquire( &p_context->h_al->obj.lock ); p_sa_req = al_hdl_chk( p_context->h_al, hdl, AL_OBJ_TYPE_H_SA_REQ ); - if( p_sa_req ) - al_cancel_sa_req( p_sa_req ); + CL_ASSERT( p_sa_req ); + al_cancel_sa_req( p_sa_req ); + al_hdl_free( p_context->h_al, hdl ); cl_spinlock_release( &p_context->h_al->obj.lock ); } -- 2.41.0