Skip to content

Commit 843d2a9

Browse files
ext/bcmath: bc_divide() small fix (#18060)
1 parent 867ed15 commit 843d2a9

File tree

1 file changed

+5
-11
lines changed
  • ext/bcmath/libbcmath/src

1 file changed

+5
-11
lines changed

ext/bcmath/libbcmath/src/div.c

+5-11
Original file line numberDiff line numberDiff line change
@@ -370,12 +370,11 @@ bool bc_divide(bc_num numerator, bc_num divisor, bc_num *quot, size_t scale)
370370
while (*numeratorptr == 0) {
371371
numeratorptr++;
372372
numerator_leading_zeros++;
373+
if (numerator_leading_zeros == numerator_size) {
374+
goto quot_zero;
375+
}
373376
}
374-
if (numerator_size > numerator_leading_zeros) {
375-
numerator_size -= numerator_leading_zeros;
376-
} else {
377-
goto quot_zero;
378-
}
377+
numerator_size -= numerator_leading_zeros;
379378

380379
/* check and remove divisor leading zeros */
381380
while (*divisorptr == 0) {
@@ -396,12 +395,7 @@ bool bc_divide(bc_num numerator, bc_num divisor, bc_num *quot, size_t scale)
396395
divisor_trailing_zeros++;
397396
}
398397
divisor_size -= divisor_trailing_zeros;
399-
400-
if (numerator_size > divisor_trailing_zeros) {
401-
numerator_size -= divisor_trailing_zeros;
402-
} else {
403-
goto quot_zero;
404-
}
398+
numerator_size -= divisor_trailing_zeros;
405399

406400
size_t quot_size = numerator_size - divisor_size + 1; /* numerator_size >= divisor_size */
407401
if (quot_size > quot_scale) {

0 commit comments

Comments
 (0)