From 483ce924b29f3660380ba462720c5580f8b4c520 Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Wed, 7 Aug 2024 00:53:01 +0100 Subject: [PATCH] ext/pgsql: Use zval_try_get_string() instead of converting zval --- ext/pdo_pgsql/pgsql_statement.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 55759133864fa..deb6deeb9fdb1 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -391,9 +391,12 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * S->param_lengths[param->paramno] = 1; S->param_formats[param->paramno] = 0; } else { - convert_to_string(parameter); - S->param_values[param->paramno] = Z_STRVAL_P(parameter); - S->param_lengths[param->paramno] = Z_STRLEN_P(parameter); + zend_string *param_value = zval_try_get_string(parameter); + if (UNEXPECTED(param_value == NULL)) { + return 0; + } + S->param_values[param->paramno] = ZSTR_VAL(param_value); + S->param_lengths[param->paramno] = ZSTR_LEN(param_value); S->param_formats[param->paramno] = 0; }