Skip to content

[BUG] ObjectReaderNoneDefaultConstructor这个类是不是少了个判断 #1882

Closed
@Mr95ninefive

Description

问题描述

com.alibaba.fastjson2.reader.ObjectReaderNoneDefaultConstructor这个类中
public T createInstance(Map map, long features) 方法里面
for (int i = 0; i < setterFieldReaders.length; i++) setterFieldReaders似乎是没加判断?
然后就空指针了

看其它方法都有加if (setterFieldReaders != null && valueMap != null)判断

环境信息

  • JDK信息: oraclejdk17
  • 版本信息:2.0.40

相关日志输出

java.lang.NullPointerException: Cannot read the array length because "this.setterFieldReaders" is null
	at com.alibaba.fastjson2.reader.ObjectReaderNoneDefaultConstructor.createInstance(ObjectReaderNoneDefaultConstructor.java:474) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.reader.ObjectReader.createInstance(ObjectReader.java:47) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.reader.ObjectArrayTypedReader.createInstance(ObjectArrayTypedReader.java:149) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.JSONArray.to(JSONArray.java:979) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.reader.FieldReader.acceptAny(FieldReader.java:422) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.reader.ObjectReaderAdapter.createInstance(ObjectReaderAdapter.java:627) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.reader.ObjectReaderAdapter.createInstance(ObjectReaderAdapter.java:622) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.JSONObject.to(JSONObject.java:1245) ~[fastjson2-2.0.40.jar:?]
	at com.alibaba.fastjson2.JSONObject.toJavaObject(JSONObject.java:1255) ~[fastjson2-2.0.40.jar:?]
        ...

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions