another blind sha2 bug fix ...

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1637005 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2014-11-05 23:33:33 +00:00
parent 1fcb0d7fd3
commit 21d90606ab

View File

@ -241,6 +241,8 @@ public class SignatureInfo implements SignatureConfigurable {
}
return valid;
} catch (ArrayIndexOutOfBoundsException e) {
throw new JvmBrokenException(e);
} catch (Exception e) {
LOG.log(POILogger.ERROR, "error in marshalling and validating the signature", e);
return false;
@ -538,7 +540,7 @@ public class SignatureInfo implements SignatureConfigurable {
String description = signatureConfig.getSignatureDescription();
return new DigestInfo(digestValue, signatureConfig.getDigestAlgo(), description);
} catch (ArrayIndexOutOfBoundsException e) {
throw new EncryptedDocumentException("\"your JVM is just too broken\" - check https://bugzilla.redhat.com/show_bug.cgi?id=1155012 if this applies to the stacktrace ...", e);
throw new JvmBrokenException(e);
}
}
@ -649,4 +651,10 @@ public class SignatureInfo implements SignatureConfigurable {
private static <T> List<T> safe(List<T> other) {
return other == null ? Collections.EMPTY_LIST : other;
}
private static class JvmBrokenException extends EncryptedDocumentException {
public JvmBrokenException(Throwable cause) {
super("\"your JVM is just too broken\" - check https://bugzilla.redhat.com/show_bug.cgi?id=1155012 if this applies to the stacktrace ...", cause);
}
}
}