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