]> granicus.if.org Git - php/commitdiff
fix leak in pg_copy_to() when invalid resource was passed
authorAntony Dovgal <tony2001@php.net>
Wed, 6 Sep 2006 12:40:47 +0000 (12:40 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 6 Sep 2006 12:40:47 +0000 (12:40 +0000)
ext/pgsql/pgsql.c

index 761c0814c32ed10ad9f27dda61243f5976e242f8..19617007bec91c9a484b3e18a7240dba6f90681d 100644 (file)
@@ -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);