diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt index 928d5ab1..55f863ce 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt @@ -129,6 +129,10 @@ class ModuleViewModel : ViewModel() { } } + private fun sanitizeVersionString(version: String): String { + return version.replace(Regex("[^a-zA-Z0-9.\\-_]"), "_") + } + fun checkUpdate(m: ModuleInfo): Triple { val empty = Triple("", "", "") if (m.updateJson.isEmpty() || m.remove || m.update || !m.enabled) { @@ -158,7 +162,8 @@ class ModuleViewModel : ViewModel() { JSONObject(result) }.getOrNull() ?: return empty - val version = updateJson.optString("version", "") + var version = updateJson.optString("version", "") + version = sanitizeVersionString(version) val versionCode = updateJson.optInt("versionCode", 0) val zipUrl = updateJson.optString("zipUrl", "") val changelog = updateJson.optString("changelog", "") @@ -168,4 +173,4 @@ class ModuleViewModel : ViewModel() { return Triple(zipUrl, version, changelog) } -} \ No newline at end of file +}