-
Notifications
You must be signed in to change notification settings - Fork 121
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
运行操作系统: Linux
生成参数
- 服务类型: Tomcat
- 挂载类型: Listener
- 功能类型: Any
报错截图 OR 错误代码
在注入 Tomcat Listener 命令回显马再注入哥斯拉马,发现之前注入的命令回显马无法利用,再注入命令回显马,发现之前注入的哥斯拉马无法连接。
额外信息
Add any other context about the problem here.
Line 97 in df47f2e
| ArrayList arrayList = new ArrayList(Arrays.asList(objects)); |
此处在将 objects 转为 list 时,并没有强转为 Object[] 导致,直接将整个 listener arrays 当成的一个元素,这会使得每注入一个就加一层数组嵌套,并且只有最后一次注册的 listener 会生效,之前的都会失效,包括业务 listener 以及之前注入的 listener
影响范围
v1.9.0 无影响,v1.10.0 以及以上版本有影响,将在 v2.1.0 进行修复,受影响的版本建议暂时先不要使用 Tomcat Listener 而是使用 Tomcat Valve。
修复方法
- ArrayList arrayList = new ArrayList(Arrays.asList(objects));
+ ArrayList arrayList = new ArrayList(Arrays.asList(((Object[]) objects)));Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working