Fix rare StackOverflowError in DeclareCommands

This behavior is exhibited with the NanoLimbo software version 1.2.2.
This commit is contained in:
Camotoy 2021-08-13 23:56:44 -04:00
parent 1afa22d5cf
commit 9f4c2ce5fc
No known key found for this signature in database
GPG key ID: 7EEFB66FE798081F

View file

@ -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++) {