Fix IndexOutOfBoundsException in IOExceptionList contructors.
diff --git a/src/main/java/org/apache/commons/io/IOExceptionList.java b/src/main/java/org/apache/commons/io/IOExceptionList.java
index 6bc6cc2..d4dc326 100644
--- a/src/main/java/org/apache/commons/io/IOExceptionList.java
+++ b/src/main/java/org/apache/commons/io/IOExceptionList.java
@@ -52,7 +52,7 @@ public IOExceptionList(final List<? extends Throwable> causeList) {
* @since 2.9.0
*/
public IOExceptionList(final String message, final List<? extends Throwable> causeList) {
- super(message, causeList == null ? null : causeList.get(0));
+ super(message, causeList == null || causeList.isEmpty() ? null : causeList.get(0));
this.causeList = causeList == null ? Collections.emptyList() : causeList;
}
diff --git a/src/test/java/org/apache/commons/io/IOExceptionListTestCase.java b/src/test/java/org/apache/commons/io/IOExceptionListTestCase.java
index d001d14..9a13bc6 100644
--- a/src/test/java/org/apache/commons/io/IOExceptionListTestCase.java
+++ b/src/test/java/org/apache/commons/io/IOExceptionListTestCase.java
@@ -50,6 +50,12 @@ public void testCause() {
}
@Test
+ public void testEmptyList() {
+ new IOExceptionList(Collections.emptyList());
+ new IOExceptionList("foo", Collections.emptyList());
+ }
+
+ @Test
public void testMessageCause() {
final EOFException cause = new EOFException();
final List<EOFException> list = Collections.singletonList(cause);