Skip to content

Commit 0d4c6a1

Browse files
committed
Return SUCCESS as FAILURE implies retry with type conversion
1 parent a0d1840 commit 0d4c6a1

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Zend/zend_operators.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1260,7 +1260,7 @@ static zend_result ZEND_FASTCALL div_function_base(zval *result, zval *op1, zval
12601260
if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) {
12611261
if (Z_LVAL_P(op2) == 0) {
12621262
zend_throw_error(zend_ce_division_by_zero_error, "Division by zero");
1263-
return FAILURE;
1263+
return SUCCESS;
12641264
} else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == ZEND_LONG_MIN) {
12651265
/* Prevent overflow error/crash */
12661266
ZVAL_DOUBLE(result, (double) ZEND_LONG_MIN / -1);
@@ -1275,21 +1275,21 @@ static zend_result ZEND_FASTCALL div_function_base(zval *result, zval *op1, zval
12751275
} else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) {
12761276
if (Z_DVAL_P(op2) == 0) {
12771277
zend_throw_error(zend_ce_division_by_zero_error, "Division by zero");
1278-
return FAILURE;
1278+
return SUCCESS;
12791279
}
12801280
ZVAL_DOUBLE(result, Z_DVAL_P(op1) / Z_DVAL_P(op2));
12811281
return SUCCESS;
12821282
} else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) {
12831283
if (Z_LVAL_P(op2) == 0) {
12841284
zend_throw_error(zend_ce_division_by_zero_error, "Division by zero");
1285-
return FAILURE;
1285+
return SUCCESS;
12861286
}
12871287
ZVAL_DOUBLE(result, Z_DVAL_P(op1) / (double)Z_LVAL_P(op2));
12881288
return SUCCESS;
12891289
} else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) {
12901290
if (Z_DVAL_P(op2) == 0) {
12911291
zend_throw_error(zend_ce_division_by_zero_error, "Division by zero");
1292-
return FAILURE;
1292+
return SUCCESS;
12931293
}
12941294
ZVAL_DOUBLE(result, (double)Z_LVAL_P(op1) / Z_DVAL_P(op2));
12951295
return SUCCESS;
@@ -1327,7 +1327,7 @@ ZEND_API zend_result ZEND_FASTCALL div_function(zval *result, zval *op1, zval *o
13271327
return SUCCESS;
13281328
}
13291329

1330-
ZEND_ASSERT(EG(exception));
1330+
ZEND_ASSERT(0 && "Operation must succeed");
13311331
return FAILURE;
13321332
}
13331333
/* }}} */

0 commit comments

Comments
 (0)