Przeglądaj źródła

check and discard unknown messages

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2800 fd59a12c-fef9-0310-b244-a6a79926bd2f
Angus Salkeld 16 lat temu
rodzic
commit
ea345ef0fd
1 zmienionych plików z 6 dodań i 0 usunięć
  1. 6 0
      exec/main.c

+ 6 - 0
exec/main.c

@@ -832,6 +832,12 @@ static void deliver_fn (
 		serialize_unlock();
 		return;
 	}
+	if (fn_id >= ais_service[service]->exec_engine_count) {
+		log_printf(LOGSYS_LEVEL_WARNING, "discarded unknown message %d for service %d (max id %d)",
+			fn_id, service, ais_service[service]->exec_engine_count);
+		serialize_unlock();
+		return;
+	}
 
 	objdb->object_key_increment (service_stats_handle[service][fn_id],
 		"rx", strlen("rx"),