当前使用版本(必须填写清楚,否则不予处理)

3.3.0

我们用Pinpoint检查器找到了一些可疑的问题

调用函数getTableInfo的返回值的chooseSelect方法(函数getTableInfo的返回值可能为空指针) mybatis-plus-3.3.0/mybatis-plus-extension/src/main/kotlin/com/baomidou/mybatisplus/extension/kotlin/KtQueryWrapper.kt:101

调用strings的java.util.List.toArray方法(strings可能为空指针) mybatis-plus-3.3.0/mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/StringUtils.java:599

调用函数getTableInfo的返回值的getKeyProperty方法(函数getTableInfo的返回值可能为空指针) mybatis-plus-3.3.0/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/activerecord/Model.java:274

在com.baomidou.mybatisplus.generator.config.IFileCreate.checkDir(String)中忽略java.io.File.mkdir()的异常返回值 mybatis-plus-3.3.0/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/IFileCreate.java:51

在com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine.isCreate(FileType, String)中忽略java.io.File.mkdirs()的异常返回值 mybatis-plus-3.3.0/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java:284

创建了一个java.io.ObjectInputStream类的对象,类定义了close()方法,但是没有调用或者调用位置不正确,导致资源泄漏 mybatis-plus-3.3.0/mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/SerializationUtils.java:80

创建了一个java.io.ObjectOutputStream类的对象,类定义了close()方法,但是没有调用或者调用位置不正确,导致资源泄漏 mybatis-plus-3.3.0/mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/SerializationUtils.java:60

在com.baomidou.mybatisplus.core.toolkit.StringPool.()中找到对默认编码的依赖:String.getBytes() mybatis-plus-3.3.0/mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/StringPool.java:110

Comment From: qmdx

为什么不修改 pr 呢?

Comment From: mmyjona

嗯,觉得有价值的话,我可以提个pr。

Comment From: miemieYaho

  • getTableInfo 相关不会npe,如果出现npe不会是mp启动时以及运行时产生.
  • SerializationUtils 相关,代码是从spring里copy出来的,目前已从spring copy最新代码
  • StringPool 默认编码基本等于 UTF-8
  • 其他的也不会有什么问题