Skip to content

Commit 5d0aed2

Browse files
committed
Fix DNS resolver read string
1 parent 98dae0c commit 5d0aed2

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

app/src/main/java/com/launium/mcping/server/MinecraftResolver.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ import kotlinx.io.Buffer
1717
import kotlinx.io.Source
1818
import kotlinx.io.asSource
1919
import kotlinx.io.buffered
20-
import kotlinx.io.readByteArray
20+
import kotlinx.io.readString
21+
import kotlinx.io.readUByte
2122
import kotlinx.io.readUShort
2223
import kotlinx.io.writeString
2324
import java.io.ByteArrayInputStream
@@ -91,7 +92,7 @@ class MinecraftResolver(uri: String) {
9192
repeat(answersCount) {
9293
addressBuilder.clear()
9394
while (true) { // skip domain name
94-
val bytesCount = response.readByte().toUByte()
95+
val bytesCount = response.readUByte()
9596
if (bytesCount == 0.toUByte()) break
9697
if (bytesCount and COMPRESSED_LABEL_MARK == COMPRESSED_LABEL_MARK) {
9798
response.skip(1)
@@ -102,9 +103,9 @@ class MinecraftResolver(uri: String) {
102103
response.skip(14)
103104
val port = response.readUShort()
104105
while (true) {
105-
val bytesCount = response.readByte().toUInt()
106-
if (bytesCount == 0U) break
107-
addressBuilder.append(response.readByteArray(bytesCount.toInt()))
106+
val bytesCount = response.readUByte().toLong()
107+
if (bytesCount == 0L) break
108+
addressBuilder.append(response.readString(bytesCount))
108109
addressBuilder.append('.')
109110
}
110111
results.add(InetSocketAddress(addressBuilder.toString(), port.toInt()))

0 commit comments

Comments
 (0)