diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java index b7e5cfb61e2b0f536e12085d6f56e976a05ba193..e7990f28f60cb3fb5a06b4a249d50f49af0827fb 100644 --- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java +++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java @@ -180,7 +180,9 @@ public class I2PSocketManagerFactory { I2PAppContext context = I2PAppContext.getGlobalContext(); String classname = opts.getProperty(PROP_MANAGER, DEFAULT_MANAGER); try { - Class cls = Class.forName(classname); + Class<?> cls = Class.forName(classname); + if (!I2PSocketManager.class.isAssignableFrom(cls)) + throw new IllegalArgumentException(classname + " is not an I2PSocketManager"); Constructor<I2PSocketManager> con = (Constructor<I2PSocketManager>) cls.getConstructor(new Class[] {I2PAppContext.class, I2PSession.class, Properties.class, String.class}); I2PSocketManager mgr = con.newInstance(new Object[] {context, session, opts, name});