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