From 917e1023e4ec37eabcd6e4be6eca5547ca63f970 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 22 Jun 2009 14:16:52 +0000 Subject: [PATCH] Catch AIOOBE reported by tuna http://zzz.i2p/topics/332 --- router/java/src/org/cybergarage/upnp/ControlPoint.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/router/java/src/org/cybergarage/upnp/ControlPoint.java b/router/java/src/org/cybergarage/upnp/ControlPoint.java index f1d56f44bc..d66209f974 100644 --- a/router/java/src/org/cybergarage/upnp/ControlPoint.java +++ b/router/java/src/org/cybergarage/upnp/ControlPoint.java @@ -276,7 +276,14 @@ public class ControlPoint implements HTTPRequestListener { int nRoots = devNodeList.size(); for (int n=0; n<nRoots; n++) { - Node rootNode = devNodeList.getNode(n); + // AIOOB was thrown from here, maybe would be better to + // copy the list before traversal? + Node rootNode; + try { + rootNode = devNodeList.getNode(n); + } catch (ArrayIndexOutOfBoundsException aioob) { + break; + } Device dev = getDevice(rootNode); if (dev == null) continue; -- GitLab