mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
Avoid overflow UB in is_numeric_string
We intentionally overflow the signed space here, so make this an unsigned variable and only cast to signed at the end.
This commit is contained in:
parent
3d4298697b
commit
82a34e71c5
1 changed files with 2 additions and 2 deletions
|
@ -3035,7 +3035,7 @@ ZEND_API zend_uchar ZEND_FASTCALL _is_numeric_string_ex(const char *str, size_t
|
|||
int digits = 0, dp_or_e = 0;
|
||||
double local_dval = 0.0;
|
||||
zend_uchar type;
|
||||
zend_long tmp_lval = 0;
|
||||
zend_ulong tmp_lval = 0;
|
||||
int neg = 0;
|
||||
|
||||
if (!length) {
|
||||
|
@ -3143,7 +3143,7 @@ process_double:
|
|||
if (neg) {
|
||||
tmp_lval = -tmp_lval;
|
||||
}
|
||||
*lval = tmp_lval;
|
||||
*lval = (zend_long) tmp_lval;
|
||||
}
|
||||
|
||||
return IS_LONG;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue