Skip to content

Commit e57aaf2

Browse files
committed
Add check that double value is finite for mutlipleOf keyword
1 parent cf9a015 commit e57aaf2

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MultipleOfAssertionFactory.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,22 @@ private fun isMultipleOf(
4545
b: Number,
4646
): Boolean =
4747
when (a) {
48-
is Double -> a isMultipleOf b
48+
is Double -> a.isFinite() && a isMultipleOf b
4949
is Long -> a isMultipleOf b
5050
else -> false
5151
}
5252

5353
private infix fun Double.isMultipleOf(number: Number): Boolean =
5454
when (number) {
55-
is Double -> isZero(rem(this, number))
55+
is Double -> number.isFinite() && isZero(rem(this, number))
5656
is Long -> isZero((this % number))
5757
else -> false
5858
}
5959

6060
private infix fun Long.isMultipleOf(number: Number): Boolean =
6161
when (number) {
6262
is Long -> this % number == 0L
63-
is Double -> isZero(rem(this, number))
63+
is Double -> number.isFinite() && isZero(rem(this, number))
6464
else -> false
6565
}
6666

0 commit comments

Comments
 (0)