[core] Fix temporary buffer acquiring; Fix #2309

This commit is contained in:
Karlatemp
2022-11-18 20:41:53 +08:00
parent b38687a3ea
commit 372c25024c

View File

@@ -46,7 +46,7 @@ internal object TEA {
length: Int = receiver.remaining.toInt() - offset, length: Int = receiver.remaining.toInt() - offset,
consumer: (ByteArray) -> Unit, consumer: (ByteArray) -> Unit,
) { ) {
ByteArrayPool.useInstance { ByteArrayPool.useInstance(length) {
receiver.readFully(it, offset, length) receiver.readFully(it, offset, length)
consumer(encrypt(it, key, length = length)) consumer(encrypt(it, key, length = length))
} }
@@ -68,7 +68,7 @@ internal object TEA {
length: Int = (receiver.remaining - offset).toInt(), length: Int = (receiver.remaining - offset).toInt(),
consumer: (ByteArray) -> R, consumer: (ByteArray) -> R,
): R { ): R {
return ByteArrayPool.useInstance { return ByteArrayPool.useInstance(length) {
receiver.readFully(it, offset, length) receiver.readFully(it, offset, length)
consumer(decrypt(it, key, length)) consumer(decrypt(it, key, length))
}.also { receiver.close() } }.also { receiver.close() }