]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
common: dapls_ep_flush_cq will segfault when no CQ is attached to EP
authorArlin Davis <arlin.r.davis@intel.com>
Wed, 25 Jan 2012 19:54:29 +0000 (11:54 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Wed, 25 Jan 2012 19:54:29 +0000 (11:54 -0800)
add check for NULL request/receive EVD (cq) before flushing.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/common/dapl_ep_util.c

index 6646528f6dfc047e9003422ce6696cee650b270e..5133f598d3007377201ed24a678879a5ed57fdfb 100644 (file)
@@ -620,9 +620,11 @@ static void dapli_ep_flush_evd(DAPL_EVD *evd_ptr)
 
 void dapls_ep_flush_cqs(DAPL_EP * ep_ptr)
 {
-       dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.request_evd_handle);
-       while (dapls_cb_pending(&ep_ptr->recv_buffer))
-               dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.recv_evd_handle);
+       if (ep_ptr->param.request_evd_handle)
+               dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.request_evd_handle);
+       if (ep_ptr->param.recv_evd_handle)
+               while (dapls_cb_pending(&ep_ptr->recv_buffer))
+                       dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.recv_evd_handle);
 }
 
 /*