From: Edin Kadribasic Date: Sat, 3 Sep 2005 23:50:25 +0000 (+0000) Subject: Don't crash on invalid parameter #34203 (Wez) X-Git-Tag: php-5.1.0RC2_PRE~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=38317bb3bd0dd41125ceb683964dac1fd4610516;p=php Don't crash on invalid parameter #34203 (Wez) --- diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 4ad96b8adb..9e6420eeb4 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -198,15 +198,17 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * sizeof(int)); } - if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_NULL || - Z_TYPE_P(param->parameter) == IS_NULL) { - S->param_values[param->paramno] = NULL; - S->param_lengths[param->paramno] = 0; - } else { - convert_to_string(param->parameter); - S->param_values[param->paramno] = Z_STRVAL_P(param->parameter); - S->param_lengths[param->paramno] = Z_STRLEN_P(param->parameter); - S->param_formats[param->paramno] = 1; + if (param->paramno >= 0) { + if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_NULL || + Z_TYPE_P(param->parameter) == IS_NULL) { + S->param_values[param->paramno] = NULL; + S->param_lengths[param->paramno] = 0; + } else { + convert_to_string(param->parameter); + S->param_values[param->paramno] = Z_STRVAL_P(param->parameter); + S->param_lengths[param->paramno] = Z_STRLEN_P(param->parameter); + S->param_formats[param->paramno] = 1; + } } break; }