alibaba / fastjson2

🚄 FASTJSON2 is a Java JSON library with excellent performance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] JSONValidator.validate()

Cooper-Zhong opened this issue · comments

问题描述

fastjson2中JSON.isValid无异常,JSONValidator.from().validate()报错

环境信息

  • OS信息: [MacOS 12.7.4 M1 Pro 16 GB]
  • JDK信息: [Openjdk 17.0.6]
  • 版本信息:[Fastjson2 2.0.50]

重现步骤

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONValidator;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class MutatedIssue3343_200 {
    
    @Test
    public void test() {
        // Testing with incorrect JSON syntax
        assertFalse(
                JSON.isValid("{\"name\":\"999}")
                        );
        assertFalse(
                JSONValidator.from("{\"name\":\"999}")
                        .validate());
    }
}

相关日志输出

java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13
at com.alibaba.fastjson2.JSONReaderUTF8.skipValue(JSONReaderUTF8.java:4874)
at com.alibaba.fastjson2.JSONReaderUTF8.skipValue(JSONReaderUTF8.java:4904)
at com.alibaba.fastjson2.JSONValidator.validate(JSONValidator.java:36)
at MutatedIssue3343_200.test(MutatedIssue3343_200.java:20)

验证无问题,辛苦wenshao