diff --git a/patches/server/Rewrite-dataconverter-system.patch b/patches/server/Rewrite-dataconverter-system.patch index 3d14211516..290f320298 100644 --- a/patches/server/Rewrite-dataconverter-system.patch +++ b/patches/server/Rewrite-dataconverter-system.patch @@ -7970,27 +7970,29 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + reader.expect('['); + reader.skipWhitespace(); + -+ while (reader.canRead() && reader.peek() != ']') { -+ reader.skipWhitespace(); -+ -+ final String property = reader.readString(); -+ -+ reader.skipWhitespace(); -+ reader.expect('='); -+ reader.skipWhitespace(); -+ -+ final String value = reader.readString(); -+ ret.setString(property, value); -+ -+ reader.skipWhitespace(); -+ if (reader.canRead()) { -+ if (reader.peek() != ',') { -+ // invalid character or ']' -+ break; ++ if (reader.canRead() && reader.peek() != ']') { ++ while (reader.canRead()) { ++ final String property = reader.readString(); ++ ++ reader.skipWhitespace(); ++ reader.expect('='); ++ reader.skipWhitespace(); ++ ++ final String value = reader.readString(); ++ ret.setString(property, value); ++ ++ reader.skipWhitespace(); ++ if (reader.canRead()) { ++ if (reader.peek() != ',') { ++ // invalid character or ']' ++ break; ++ } ++ ++ // skip ',' and move onto next entry ++ reader.skip(); + } -+ -+ // skip ',' and move onto next entry -+ reader.peek(); ++ ++ reader.skipWhitespace(); + } + } +