Просмотр исходного кода

Don't crash if we get an unathenticated connection from a library.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1030 fd59a12c-fef9-0310-b244-a6a79926bd2f
Patrick Caulfield 20 лет назад
Родитель
Сommit
1afe7db63a
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      exec/ipc.c

+ 3 - 2
exec/ipc.c

@@ -317,7 +317,7 @@ static int libais_disconnect (struct conn_info *conn_info)
 	int res = 0;
 
 	if (conn_info->disc == DISC_STATE_EXITING) {
-		if (ais_service[conn_info->service]->lib_exit_fn) {
+		if (conn_info->service != SOCKET_SERVICE_INIT && ais_service[conn_info->service]->lib_exit_fn) {
 			res = ais_service[conn_info->service]->lib_exit_fn (conn_info);
 			if (res == 0) {
 				conn_info->disc = DISC_STATE_EXITED;
@@ -326,7 +326,8 @@ static int libais_disconnect (struct conn_info *conn_info)
 			return (res);
 		}
 		conn_info->disc = DISC_STATE_EXITED;
-		conn_info->conn_info_partner->disc = DISC_STATE_EXITED;
+		if (conn_info->conn_info_partner)
+			conn_info->conn_info_partner->disc = DISC_STATE_EXITED;
 		return (0);
 	}