diff --git a/app/src/main/java/io/legado/app/help/JsExtensions.kt b/app/src/main/java/io/legado/app/help/JsExtensions.kt index 61facbc12..00f662c67 100644 --- a/app/src/main/java/io/legado/app/help/JsExtensions.kt +++ b/app/src/main/java/io/legado/app/help/JsExtensions.kt @@ -988,6 +988,7 @@ interface JsExtensions : JsEncodeUtils { // 新增 mimeType 参数,默认为 null(保持兼容性) fun openUrl(url: String, mimeType: String? = null) { + require(url.length < 64 * 1024) { "openUrl parameter url too long" } rhinoContext.ensureActive() val source = getSource() ?: throw NoStackTraceException("openUrl source cannot be null") appCtx.startActivity { diff --git a/app/src/main/java/io/legado/app/help/source/SourceVerificationHelp.kt b/app/src/main/java/io/legado/app/help/source/SourceVerificationHelp.kt index 1573b3e75..80b514365 100644 --- a/app/src/main/java/io/legado/app/help/source/SourceVerificationHelp.kt +++ b/app/src/main/java/io/legado/app/help/source/SourceVerificationHelp.kt @@ -39,9 +39,8 @@ object SourceVerificationHelp { ): String { source ?: throw NoStackTraceException("getVerificationResult parameter source cannot be null") - if (isMainThread) { - error("getVerificationResult must be called on a background thread") - } + require(url.length < 64 * 1024) { "getVerificationResult parameter url too long" } + check(!isMainThread) { "getVerificationResult must be called on a background thread" } clearResult(source.getKey()) @@ -85,6 +84,7 @@ object SourceVerificationHelp { refetchAfterSuccess: Boolean? = true ) { source ?: throw NoStackTraceException("startBrowser parameter source cannot be null") + require(url.length < 64 * 1024) { "startBrowser parameter url too long" } appCtx.startActivity { putExtra("title", title) putExtra("url", url)