Skip to content

ext/pgsql: route pg_copy_from table_name through build_tablename#55

Closed
iliaal wants to merge 1 commit intomasterfrom
fix/pgsql-copy-from-table-name-escape
Closed

ext/pgsql: route pg_copy_from table_name through build_tablename#55
iliaal wants to merge 1 commit intomasterfrom
fix/pgsql-copy-from-table-name-escape

Conversation

@iliaal
Copy link
Copy Markdown
Owner

@iliaal iliaal commented May 8, 2026

Add the table validation added in bug #62978 (which fixed pg_insert, pg_update, pg_select, pg_delete) but missed pg_copy_from. Not updating pg_copy_to since it allows (query) for the table name per ext/pgsql/tests/06_bug73498.phpt.

The COPY query for pg_copy_from embedded the table_name argument with a
raw "%s", so a caller-supplied name like `t FROM STDIN --` redirected
the data into a different table than the API documents. Use the same
build_tablename helper that pg_insert/update/select/delete have used
since bug #62978. pg_copy_to is unchanged because COPY ... TO accepts
a parenthesised query as a source spec, which the existing test
06_bug73498 relies on.
@iliaal
Copy link
Copy Markdown
Owner Author

iliaal commented May 8, 2026

Superseded by upstream PR php#21985

@iliaal iliaal closed this May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant