diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index 62781f25bae..b4877276c27 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,8 @@ +2004-07-26 Alain Magloire + + Fix for PR 68665 + * utils/org/eclipse/cdt/utils/coff/PE.java + 2004-07-26 Vladimir Hirsl HP-UX SOM Binary parser patch diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PE.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PE.java index da1ac5623f6..766e43e8cb5 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PE.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PE.java @@ -493,11 +493,13 @@ public class PE { } } catch (IOException e) { } - byte[] bytes = new byte[data.length - idx]; - System.arraycopy(data, idx, bytes, 0, data.length - idx); - Coff.FileHeader filehdr = new Coff.FileHeader(bytes, true); - if (isValidMachine(filehdr.f_magic)) { - return getAttributes(filehdr); + if (idx < data.length) { + byte[] bytes = new byte[data.length - idx]; + System.arraycopy(data, idx, bytes, 0, data.length - idx); + Coff.FileHeader filehdr = new Coff.FileHeader(bytes, true); + if (isValidMachine(filehdr.f_magic)) { + return getAttributes(filehdr); + } } throw new IOException(CCorePlugin.getResourceString("Util.exception.notPE")); //$NON-NLS-1$ }