From c39ae9cc7044cb96c46b1bf9998a1fc7a496572e Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 28 Sep 2007 01:31:34 +0000 Subject: [PATCH] segfault does not use source.conn unless the originating request is local. The actual code tries to dereference pointers created on another node. git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1462 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/lck.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exec/lck.c b/exec/lck.c index aa095205..f2832317 100644 --- a/exec/lck.c +++ b/exec/lck.c @@ -731,7 +731,7 @@ static void message_handler_req_exec_lck_resourceopen ( struct resource *resource; struct resource_cleanup *resource_cleanup; SaAisErrorT error = SA_AIS_OK; - struct lck_pd *lck_pd = (struct lck_pd *)openais_conn_private_data_get (req_exec_lck_resourceopen->source.conn); + struct lck_pd *lck_pd; log_printf (LOG_LEVEL_NOTICE, "EXEC request: saLckResourceOpen %s\n", get_mar_name_t (&req_exec_lck_resourceopen->resource_name)); @@ -780,7 +780,8 @@ static void message_handler_req_exec_lck_resourceopen ( if (resource_cleanup == 0) { free (resource); error = SA_AIS_ERR_NO_MEMORY; - } else { + } else { + lck_pd = (struct lck_pd *)openais_conn_private_data_get (req_exec_lck_resourceopen->source.conn); list_init (&resource_cleanup->list); list_init (&resource_cleanup->resource_lock_list_head); resource_cleanup->resource = resource;