Skip to content

Commit bb3a81c

Browse files
author
William Felipe Welter
committed
Fixed bug #68638 pg_update() fails to store infinite values.
Add quotes only if "infinity" values are received.
1 parent b64f149 commit bb3a81c

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

ext/pgsql/pgsql.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5590,12 +5590,16 @@ PHP_PGSQL_API int php_pgsql_convert(PGconn *pg_link, const char *table_name, con
55905590
}
55915591
else {
55925592
/* FIXME: better regex must be used */
5593-
if (php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^([+-]{0,1}[0-9]+)|([+-]{0,1}[0-9]*[\\.][0-9]+)|([+-]{0,1}[0-9]+[\\.][0-9]*)|([+-]{0,1}(INF)(inity){0,1})$", 1 TSRMLS_CC) == FAILURE) {
5593+
if (php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^([+-]{0,1}[0-9]+)|([+-]{0,1}[0-9]*[\\.][0-9]+)|([+-]{0,1}[0-9]+[\\.][0-9]*)|([+-]{0,1}(inf)(inity){0,1})$", 1 TSRMLS_CC) == FAILURE) {
55945594
err = 1;
55955595
}
55965596
else {
5597+
55975598
ZVAL_STRING(new_val, Z_STRVAL_PP(val), 1);
5598-
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC);
5599+
if(php_pgsql_convert_match(Z_STRVAL_PP(val), Z_STRLEN_PP(val), "^([+-]{0,1}(inf)(inity){0,1})$", 1 TSRMLS_CC) == SUCCESS) {
5600+
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC);
5601+
}
5602+
55995603
}
56005604
}
56015605
break;

0 commit comments

Comments
 (0)