3
0
Mirror von https://github.com/GeyserMC/Geyser.git synchronisiert 2024-10-05 09:20:07 +02:00

Fix rare StackOverflowError in DeclareCommands

This behavior is exhibited with the NanoLimbo software version 1.2.2.
Dieser Commit ist enthalten in:
Camotoy 2021-08-13 23:56:44 -04:00
Ursprung 1afa22d5cf
Commit 9f4c2ce5fc
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 7EEFB66FE798081F

Datei anzeigen

@ -295,6 +295,11 @@ public class JavaDeclareCommandsTranslator extends PacketTranslator<ServerDeclar
for (int paramID : paramNode.getChildIndices()) { for (int paramID : paramNode.getChildIndices()) {
CommandNode paramNode = allNodes[paramID]; CommandNode paramNode = allNodes[paramID];
if (paramNode == this.paramNode) {
// Fixes a StackOverflowError when an argument has itself as a child
continue;
}
if (paramNode.getParser() == null) { if (paramNode.getParser() == null) {
boolean foundCompatible = false; boolean foundCompatible = false;
for (int i = 0; i < children.size(); i++) { for (int i = 0; i < children.size(); i++) {