EXEC-64  DefaultExecutor swallows IOException cause instead of propagating it
(work-round for Java 1.5)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/exec/trunk@1723863 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5deb826..17fec64 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -23,6 +23,12 @@
         <author email="sgoeschl@apache.org">Siegfried Goeschl</author>
     </properties>
     <body>
+        <release version="1.4" date="" description="Maintenance and feature Release">
+            <action issue="EXEC-64" dev="sebb" type="update" due-to=" Michael Vorburger">
+                DefaultExecutor swallows IOException cause instead of propagating it
+                (work-round for Java 1.5)
+            </action>
+        </release>
         <release version="1.3" date="2014-11-02" description="Maintenance and feature Release">
             <action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger">
                 DefaultExecutor async execute prevents shutdown hooks running.
diff --git a/src/main/java/org/apache/commons/exec/DefaultExecutor.java b/src/main/java/org/apache/commons/exec/DefaultExecutor.java
index d1b4435..5aa9bb1 100644
--- a/src/main/java/org/apache/commons/exec/DefaultExecutor.java
+++ b/src/main/java/org/apache/commons/exec/DefaultExecutor.java
@@ -408,7 +408,10 @@
                 } catch (final IOException e) {
                     throw e;
                 } catch (final Exception e) {
-                    throw new IOException(e.getMessage());
+                    // Java 1.5 does not support public IOException(String message, Throwable cause)
+                    IOException ioe = new IOException(e.getMessage());
+                    ioe.initCause(e);
+                    throw ioe;
                 }
             }