From: Antony Dovgal Date: Wed, 6 Sep 2006 12:40:47 +0000 (+0000) Subject: fix leak in pg_copy_to() when invalid resource was passed X-Git-Tag: RELEASE_1_0_0RC1~1755 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b08f8ed0c1c3378c955a5f04ce95c75cabd9c810;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 761c0814c3..19617007be 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -3296,12 +3296,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);