Browse Source

enhancement 1049
Patch from Patrick
This simple patch stops a potential DoS. If a library tries to access a
component that is not loaded into the exec then it will crash trying to deref
ais_service_handlers[ service ]


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@924 fd59a12c-fef9-0310-b244-a6a79926bd2f

Steven Dake 20 years ago
parent
commit
ae893c4fdd
1 changed files with 4 additions and 1 deletions
  1. 4 1
      exec/main.c

+ 4 - 1
exec/main.c

@@ -562,7 +562,10 @@ static int dispatch_init_send_response (struct conn_info *conn_info, void *messa
 
 	if (conn_info->authenticated) {
 		conn_info->service = req_lib_dispatch_init->resdis_header.service;
-		error = SA_AIS_OK;
+		if (!ais_service_handlers[req_lib_dispatch_init->resdis_header.service])
+			error = SA_AIS_ERR_NOT_SUPPORTED;
+		else
+			error = SA_AIS_OK;
 
 		conn_info->conn_info_partner = (struct conn_info *)req_lib_dispatch_init->conn_info;