diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org')
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java | 20 | 
1 files changed, 13 insertions, 7 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index c4cd0b3e5..006af6073 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -143,17 +143,22 @@ public class UncachedKeyRing {              throw new PgpGeneralException("Object not recognized as PGPKeyRing!");          } -        UncachedKeyRing ring = parsed.next(); +        try { +            UncachedKeyRing ring = parsed.next(); -        if (parsed.hasNext()) { -            throw new PgpGeneralException("Expected single keyring in stream, found at least two"); -        } +            if (parsed.hasNext()) { +                throw new PgpGeneralException("Expected single keyring in stream, found at least two"); +            } -        return ring; +            return ring; +        } catch (RuntimeException e) { +            // yes this is bad style. we should rework this in a better way +            throw new PgpGeneralException(e.getCause()); +        }      } -    public static Iterator<UncachedKeyRing> fromStream(final InputStream stream) throws IOException { +    public static Iterator<UncachedKeyRing> fromStream(final InputStream stream) {          return new Iterator<UncachedKeyRing>() { @@ -190,7 +195,8 @@ public class UncachedKeyRing {                          mObjectFactory = null;                      }                  } catch (IOException e) { -                    Log.e(Constants.TAG, "IOException while processing stream. ArmoredInputStream CRC check failed?", e); +                    throw new RuntimeException(e); +                    // Log.e(Constants.TAG, "IOException while processing stream. ArmoredInputStream CRC check failed?", e);                  } catch (ArrayIndexOutOfBoundsException e) {                      Log.e(Constants.TAG, "ArmoredInputStream decode failed, symbol is not in decodingTable!", e);                  } | 
