소스 검색

Avoid crash when loading invalid extension package

arkon 2 년 전
부모
커밋
3d7c136320
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt

+ 2 - 3
app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt

@@ -126,8 +126,8 @@ internal object ExtensionLoader {
         }
 
         // Validate lib version
-        val libVersion = versionName.substringBeforeLast('.').toDouble()
-        if (libVersion < LIB_VERSION_MIN || libVersion > LIB_VERSION_MAX) {
+        val libVersion = versionName.substringBeforeLast('.').toDoubleOrNull()
+        if (libVersion == null || libVersion < LIB_VERSION_MIN || libVersion > LIB_VERSION_MAX) {
             logcat(LogPriority.WARN) {
                 "Lib version is $libVersion, while only versions " +
                     "$LIB_VERSION_MIN to $LIB_VERSION_MAX are allowed"
@@ -136,7 +136,6 @@ internal object ExtensionLoader {
         }
 
         val signatureHash = getSignatureHash(pkgInfo)
-
         if (signatureHash == null) {
             logcat(LogPriority.WARN) { "Package $pkgName isn't signed" }
             return LoadResult.Error