mirror of
https://github.com/AtlasMediaGroup/Scissors.git
synced 2024-11-27 07:05:39 +00:00
cbfc1beb6a
* Add depth limit to Component deserializer * Make depth limit configurable; increase placeholder penalty
23 lines
1.2 KiB
Diff
23 lines
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Luna <lunahatesgogle@gmail.com>
|
|
Date: Mon, 29 May 2023 19:34:50 -0300
|
|
Subject: [PATCH] Fix component extra empty array exploit
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/chat/Component.java b/src/main/java/net/minecraft/network/chat/Component.java
|
|
index 3c0ee4e1f42f6056ca86a6f9f129d467e29a2fbc..9c2c22ee548ad77f0912698f33de5f467f32fb7f 100644
|
|
--- a/src/main/java/net/minecraft/network/chat/Component.java
|
|
+++ b/src/main/java/net/minecraft/network/chat/Component.java
|
|
@@ -266,6 +266,11 @@ public interface Component extends Message, FormattedText, Iterable<Component> {
|
|
if (!jsonelement.isJsonObject()) {
|
|
if (jsonelement.isJsonArray()) {
|
|
JsonArray jsonarray = jsonelement.getAsJsonArray();
|
|
+ // Scissors start
|
|
+ if (jsonarray.size() <= 0) {
|
|
+ throw new JsonParseException("Unexpected empty array of components");
|
|
+ }
|
|
+ // Scissors end
|
|
|
|
ichatmutablecomponent = null;
|
|
Iterator iterator = jsonarray.iterator();
|