mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-09-09 18:29:39 +02:00
SOP armor: catch IOException during inspection of data
This commit is contained in:
parent
d1826eb961
commit
4a4f85767a
1 changed files with 9 additions and 2 deletions
|
@ -14,6 +14,7 @@ import org.pgpainless.util.ArmoredOutputStreamFactory
|
||||||
import sop.Ready
|
import sop.Ready
|
||||||
import sop.exception.SOPGPException
|
import sop.exception.SOPGPException
|
||||||
import sop.operation.Armor
|
import sop.operation.Armor
|
||||||
|
import java.io.IOException
|
||||||
|
|
||||||
/** Implementation of the `armor` operation using PGPainless. */
|
/** Implementation of the `armor` operation using PGPainless. */
|
||||||
class ArmorImpl : Armor {
|
class ArmorImpl : Armor {
|
||||||
|
@ -26,8 +27,14 @@ class ArmorImpl : Armor {
|
||||||
val bufferedOutputStream = BufferedOutputStream(outputStream)
|
val bufferedOutputStream = BufferedOutputStream(outputStream)
|
||||||
|
|
||||||
// Determine the nature of the given data
|
// Determine the nature of the given data
|
||||||
val openPgpIn = OpenPgpInputStream(data)
|
val openPgpIn = OpenPgpInputStream(data, false).apply {
|
||||||
openPgpIn.reset()
|
try {
|
||||||
|
inspectBuffer()
|
||||||
|
} catch (e: IOException) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
reset()
|
||||||
|
}
|
||||||
|
|
||||||
if (openPgpIn.isAsciiArmored) {
|
if (openPgpIn.isAsciiArmored) {
|
||||||
// armoring already-armored data is an idempotent operation
|
// armoring already-armored data is an idempotent operation
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue