summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/filter/logical_filters.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c
index 18ff5197dc..c3dfd00db5 100644
--- a/ext/filter/logical_filters.c
+++ b/ext/filter/logical_filters.c
@@ -382,6 +382,9 @@ void php_filter_float(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
Z_DVAL_P(value) = lval;
break;
case IS_DOUBLE:
+ if ((!dval && p - num > 1 && strpbrk(num, "123456789")) || !zend_finite(dval)) {
+ goto error;
+ }
zval_dtor(value);
Z_TYPE_P(value) = IS_DOUBLE;
Z_DVAL_P(value) = dval;