From 7492841b5f7a11e7b0db293ca6a622ed29cc6e16 Mon Sep 17 00:00:00 2001 From: tarsin Date: Thu, 2 Feb 2023 19:47:16 +0800 Subject: [PATCH] Check Long to size_t conversion --- .../kotlin/moe/tarsin/ehviewer/PlatformTypes.kt | 3 +++ .../kotlin/moe/tarsin/ehviewer/PlatformTypes.kt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/native/src/androidNativeArm32Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt b/native/src/androidNativeArm32Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt index f0d19844f..c109357e7 100644 --- a/native/src/androidNativeArm32Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt +++ b/native/src/androidNativeArm32Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt @@ -2,6 +2,9 @@ package moe.tarsin.ehviewer import platform.posix.size_t +private val MAX_ALLOWED_CONVERT_VALUE = size_t.MAX_VALUE.toLong() + actual fun Long.tosize_t(): size_t { + check(this <= MAX_ALLOWED_CONVERT_VALUE) return toUInt() } diff --git a/native/src/androidNativeX86Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt b/native/src/androidNativeX86Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt index f0d19844f..c109357e7 100644 --- a/native/src/androidNativeX86Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt +++ b/native/src/androidNativeX86Main/kotlin/moe/tarsin/ehviewer/PlatformTypes.kt @@ -2,6 +2,9 @@ package moe.tarsin.ehviewer import platform.posix.size_t +private val MAX_ALLOWED_CONVERT_VALUE = size_t.MAX_VALUE.toLong() + actual fun Long.tosize_t(): size_t { + check(this <= MAX_ALLOWED_CONVERT_VALUE) return toUInt() }