diff options
Diffstat (limited to 'libjava/classpath/java/security/SignatureSpi.java')
-rw-r--r-- | libjava/classpath/java/security/SignatureSpi.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/libjava/classpath/java/security/SignatureSpi.java b/libjava/classpath/java/security/SignatureSpi.java index 3b46815eca9..80ecbfd44e0 100644 --- a/libjava/classpath/java/security/SignatureSpi.java +++ b/libjava/classpath/java/security/SignatureSpi.java @@ -136,16 +136,23 @@ public abstract class SignatureSpi * bytes of the given buffer. * * @param input The input buffer. - * @throws SignatureException + * @throws IllegalStateException if the engine is not properly initialized. */ - protected void engineUpdate(ByteBuffer input) throws SignatureException + protected void engineUpdate(ByteBuffer input) { byte[] buf = new byte[4096]; while (input.hasRemaining()) { int l = Math.min(input.remaining(), buf.length); input.get(buf, 0, l); - engineUpdate(buf, 0, l); + try + { + engineUpdate(buf, 0, l); + } + catch (SignatureException se) + { + throw new IllegalStateException(se); + } } } |