Skip to content

Commit 620e6e9

Browse files
committed
change name check
1 parent 2f0cce6 commit 620e6e9

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2016,7 +2016,7 @@ private final String parseName(int q1, int ch, int lastQuadBytes) throws IOExcep
20162016

20172017
private int[] growArrayWithNameLenCheck(int[] arr, int more) throws StreamConstraintsException {
20182018
// the following check will fail if the array is already bigger than is allowed for names
2019-
_streamReadConstraints.validateNameLength(arr.length);
2019+
_streamReadConstraints.validateNameLength(arr.length << 2);
20202020
return growArrayBy(_quadBuffer, more);
20212021
}
20222022

@@ -2118,7 +2118,7 @@ protected final String parseEscapedName(int[] quads, int qlen, int currQuad, int
21182118
}
21192119
quads[qlen++] = _padLastQuad(currQuad, currQuadBytes);
21202120
}
2121-
_streamReadConstraints.validateNameLength(qlen);
2121+
_streamReadConstraints.validateNameLength(qlen << 2);
21222122
String name = _symbols.findName(quads, qlen);
21232123
if (name == null) {
21242124
name = addName(quads, qlen, currQuadBytes);
@@ -2199,7 +2199,7 @@ protected String _handleOddName(int ch) throws IOException
21992199
}
22002200
quads[qlen++] = currQuad;
22012201
}
2202-
_streamReadConstraints.validateNameLength(qlen);
2202+
_streamReadConstraints.validateNameLength(qlen << 2);
22032203
String name = _symbols.findName(quads, qlen);
22042204
if (name == null) {
22052205
name = addName(quads, qlen, currQuadBytes);
@@ -2305,7 +2305,7 @@ protected String _parseAposName() throws IOException
23052305
}
23062306
quads[qlen++] = _padLastQuad(currQuad, currQuadBytes);
23072307
}
2308-
_streamReadConstraints.validateNameLength(qlen);
2308+
_streamReadConstraints.validateNameLength(qlen << 2);
23092309
String name = _symbols.findName(quads, qlen);
23102310
if (name == null) {
23112311
name = addName(quads, qlen, currQuadBytes);
@@ -2370,7 +2370,7 @@ private final String findName(int[] quads, int qlen, int lastQuad, int lastQuadB
23702370
_quadBuffer = quads = growArrayWithNameLenCheck(quads, quads.length);
23712371
}
23722372
quads[qlen++] = _padLastQuad(lastQuad, lastQuadBytes);
2373-
_streamReadConstraints.validateNameLength(qlen);
2373+
_streamReadConstraints.validateNameLength(qlen << 2);
23742374
String name = _symbols.findName(quads, qlen);
23752375
if (name == null) {
23762376
return addName(quads, qlen, lastQuadBytes);

src/main/java/com/fasterxml/jackson/core/json/async/NonBlockingUtf8JsonParserBase.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2176,7 +2176,7 @@ private final JsonToken _parseEscapedName(int qlen, int currQuad, int currQuadBy
21762176
} else if (qlen == 0) { // rare, but may happen
21772177
return _fieldComplete("");
21782178
}
2179-
_streamReadConstraints.validateNameLength(qlen);
2179+
_streamReadConstraints.validateNameLength(qlen << 2);
21802180
String name = _symbols.findName(quads, qlen);
21812181
if (name == null) {
21822182
name = _addName(quads, qlen, currQuadBytes);
@@ -2275,7 +2275,7 @@ private JsonToken _finishUnquotedName(int qlen, int currQuad, int currQuadBytes)
22752275
}
22762276
quads[qlen++] = currQuad;
22772277
}
2278-
_streamReadConstraints.validateNameLength(qlen);
2278+
_streamReadConstraints.validateNameLength(qlen << 2);
22792279
String name = _symbols.findName(quads, qlen);
22802280
if (name == null) {
22812281
name = _addName(quads, qlen, currQuadBytes);
@@ -2373,7 +2373,7 @@ private JsonToken _finishAposName(int qlen, int currQuad, int currQuadBytes)
23732373
} else if (qlen == 0) { // rare case but possible
23742374
return _fieldComplete("");
23752375
}
2376-
_streamReadConstraints.validateNameLength(qlen);
2376+
_streamReadConstraints.validateNameLength(qlen << 2);
23772377
String name = _symbols.findName(quads, qlen);
23782378
if (name == null) {
23792379
name = _addName(quads, qlen, currQuadBytes);
@@ -2435,7 +2435,7 @@ protected final JsonToken _finishFieldWithEscape() throws IOException
24352435

24362436
private int[] growArrayWithNameLenCheck(int[] arr, int more) throws StreamConstraintsException {
24372437
// the following check will fail if the array is already bigger than is allowed for names
2438-
_streamReadConstraints.validateNameLength(arr.length);
2438+
_streamReadConstraints.validateNameLength(arr.length << 2);
24392439
return growArrayBy(_quadBuffer, more);
24402440
}
24412441

0 commit comments

Comments
 (0)