]> 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:56 +0000 (12:40 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 6 Sep 2006 12:40:56 +0000 (12:40 +0000)
ext/pgsql/pgsql.c

index 313340bac500525b76bac4636ab11e961c059d8e..22d855cd75b43ad80875c7b7e0357631f787a561 100644 (file)
@@ -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);