diff --git a/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt b/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt index d2f2e4bd..83113f31 100644 --- a/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt +++ b/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt @@ -533,8 +533,14 @@ public class CacheImporter @Inject constructor( } } - val uncompressed = Js5Compression.uncompressUnlessEncrypted(buf.slice()) - return Group(archive, group, buf.retain(), uncompressed, version, versionTruncated) + val slice = buf.slice() + Js5Compression.uncompressUnlessEncrypted(slice).use { uncompressed -> + if (slice.isReadable) { + throw IOException("Trailing bytes after compressed data") + } + + return Group(archive, group, buf.retain(), uncompressed?.retain(), version, versionTruncated) + } } } catch (ex: IOException) { return null