mirror of https://github.com/alibaba/fastjson2.git
fix #3636
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-20.04) (push) Has been cancelled
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-20.04) (push) Has been cancelled
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-20.04) (push) Has been cancelled
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-20.04) (push) Has been cancelled
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-20.04) (push) Has been cancelled
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-20.04) (push) Has been cancelled
Details
This commit is contained in:
parent
69afb257ef
commit
f77e073fa2
|
@ -80,7 +80,10 @@ final class JSONReaderASCII
|
|||
if (offset < end && bytes[offset] == first) {
|
||||
offset++;
|
||||
} else if (offset + 4 < end
|
||||
&& IOUtils.isNULL(bytes, offset)
|
||||
&& bytes[offset] == 'n'
|
||||
&& bytes[offset + 1] == 'u'
|
||||
&& bytes[offset + 2] == 'l'
|
||||
&& bytes[offset + 3] == 'l'
|
||||
&& bytes[offset + 4] == first
|
||||
) {
|
||||
offset += 5;
|
||||
|
|
|
@ -3359,7 +3359,13 @@ class JSONReaderUTF8
|
|||
boolValue = true;
|
||||
valueType = JSON_TYPE_BOOL;
|
||||
ch = offset == end ? EOI : bytes[offset++];
|
||||
} else if (ch == 'f' && offset + 3 < end && IOUtils.isALSE(bytes, offset)) {
|
||||
} else if (ch == 'f'
|
||||
&& offset + 3 < end
|
||||
&& bytes[offset] == 'a'
|
||||
&& bytes[offset + 1] == 'l'
|
||||
&& bytes[offset + 2] == 's'
|
||||
&& bytes[offset + 3] == 'e'
|
||||
) {
|
||||
valid = true;
|
||||
offset += 4;
|
||||
boolValue = false;
|
||||
|
@ -4469,7 +4475,10 @@ class JSONReaderUTF8
|
|||
if (offset < end && bytes[offset] == first) {
|
||||
offset++;
|
||||
} else if (offset + 4 < end
|
||||
&& IOUtils.isNULL(bytes, offset)
|
||||
&& bytes[offset] == 'n'
|
||||
&& bytes[offset + 1] == 'u'
|
||||
&& bytes[offset + 2] == 'l'
|
||||
&& bytes[offset + 3] == 'l'
|
||||
&& bytes[offset + 4] == first
|
||||
) {
|
||||
offset += 5;
|
||||
|
|
|
@ -1194,10 +1194,6 @@ public class IOUtils {
|
|||
return (d & 0xF) * 10 + (d >> 16);
|
||||
}
|
||||
|
||||
public static boolean isNULL(byte[] buf, int pos) {
|
||||
return UNSAFE.getInt(buf, ARRAY_BYTE_BASE_OFFSET + pos) == NULL_32;
|
||||
}
|
||||
|
||||
public static boolean isALSE(byte[] buf, int pos) {
|
||||
return UNSAFE.getInt(buf, ARRAY_BYTE_BASE_OFFSET + pos) == ALSE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue