mirror of
https://github.com/mamoe/mirai.git
synced 2026-08-22 06:03:32 +08:00
[core] Fix temporary buffer acquiring; Fix #2309
This commit is contained in:
@@ -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() }
|
||||||
|
|||||||
Reference in New Issue
Block a user