From 9e39b7ef874199907cf5a7be207c3f7227c03847 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 19 Jun 2023 18:25:17 +0300 Subject: [PATCH] [K/N] Don't try to stack-alloc arrays of negative size #KT-59501 Fixed --- .../kotlin/backend/konan/optimizations/EscapeAnalysis.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/EscapeAnalysis.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/EscapeAnalysis.kt index 57592074280..0849c4543cb 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/EscapeAnalysis.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/EscapeAnalysis.kt @@ -1689,7 +1689,7 @@ internal object EscapeAnalysis { val itemSize = arrayItemSizeOf(irClass) if (itemSize != null) { val sizeArgument = node.arguments.first().node - val arrayLength = arrayLengthOf(sizeArgument) + val arrayLength = arrayLengthOf(sizeArgument)?.takeIf { it >= 0 } val arraySize = arraySize(itemSize, arrayLength ?: Int.MAX_VALUE) if (arraySize <= allowedToAlloc) { stackArrayCandidates += ArrayStaticAllocation(ptgNode, irClass, arraySize.toInt())