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) {
|
if (offset < end && bytes[offset] == first) {
|
||||||
offset++;
|
offset++;
|
||||||
} else if (offset + 4 < end
|
} 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
|
&& bytes[offset + 4] == first
|
||||||
) {
|
) {
|
||||||
offset += 5;
|
offset += 5;
|
||||||
|
|
|
@ -3359,7 +3359,13 @@ class JSONReaderUTF8
|
||||||
boolValue = true;
|
boolValue = true;
|
||||||
valueType = JSON_TYPE_BOOL;
|
valueType = JSON_TYPE_BOOL;
|
||||||
ch = offset == end ? EOI : bytes[offset++];
|
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;
|
valid = true;
|
||||||
offset += 4;
|
offset += 4;
|
||||||
boolValue = false;
|
boolValue = false;
|
||||||
|
@ -4469,7 +4475,10 @@ class JSONReaderUTF8
|
||||||
if (offset < end && bytes[offset] == first) {
|
if (offset < end && bytes[offset] == first) {
|
||||||
offset++;
|
offset++;
|
||||||
} else if (offset + 4 < end
|
} 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
|
&& bytes[offset + 4] == first
|
||||||
) {
|
) {
|
||||||
offset += 5;
|
offset += 5;
|
||||||
|
|
|
@ -1194,10 +1194,6 @@ public class IOUtils {
|
||||||
return (d & 0xF) * 10 + (d >> 16);
|
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) {
|
public static boolean isALSE(byte[] buf, int pos) {
|
||||||
return UNSAFE.getInt(buf, ARRAY_BYTE_BASE_OFFSET + pos) == ALSE;
|
return UNSAFE.getInt(buf, ARRAY_BYTE_BASE_OFFSET + pos) == ALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue