From: Antony Dovgal Date: Wed, 6 Sep 2006 12:40:56 +0000 (+0000) Subject: fix leak in pg_copy_to() when invalid resource was passed X-Git-Tag: php-5.2.0RC4~85 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37635d93e6861b8dedb30c39a563ac93515dc19c;p=php fix leak in pg_copy_to() when invalid resource was passed --- diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 313340bac5..22d855cd75 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -3309,12 +3309,13 @@ PHP_FUNCTION(pg_copy_to) if (!pg_delim) { pg_delim = "\t"; } + + ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); + if (!pg_null_as) { pg_null_as = safe_estrdup("\\\\N"); } - ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); - query = (char *)emalloc(strlen(query_template) + strlen(table_name) + strlen(pg_null_as) + 1); sprintf(query, "COPY \"%s\" TO STDOUT DELIMITERS '%c' WITH NULL AS '%s'", table_name, *pg_delim, pg_null_as);