SQL injection can occur if an attacker can cause a single query or bind message to exceed 4 GB in size. An integer
overflow in the calculated message size can cause the one large message to be sent as multiple messages under the
attacker's control.
Thanks to Paul Gerste for reporting this issue.
Fix behavior of CollectRows to return empty slice if Rows are empty (Felix)
Fix simple protocol encoding of json.RawMessage
Fix *Pipeline.getResults should close pipeline on error
Fix panic in TryFindUnderlyingTypeScanPlan (David Kurman)
Fix deallocation of invalidated cached statements in a transaction
Handle invalid sslkey file
Fix scan float4 into sql.Scanner
Fix pgtype.Bits not making copy of data from read buffer. This would cause the data to be corrupted by future reads.
5.5.3 (February 3, 2024)
Fix: prepared statement already exists
Improve CopyFrom auto-conversion of text-ish values
Add ltree type support (Florent Viel)
Make some properties of Batch and QueuedQuery public (Pavlo Golub)
Add AppendRows function (Edoardo Spadolini)
Optimize convert UUID [16]byte to string (Kirill Malikov)
Fix: LargeObject Read and Write of more than ~1GB at a time (Mitar)
5.5.2 (January 13, 2024)
Allow NamedArgs to start with underscore
pgproto3: Maximum message body length support (jeremy.spriet)
Upgrade golang.org/x/crypto to v0.17.0
Add snake_case support to RowToStructByName (Tikhon Fedulov)
Fix: update description cache after exec prepare (James Hartig)
Fix: pipeline checks if it is closed (James Hartig and Ryan Fowler)
Add OnPgError for easier centralized error handling (James Hartig)
5.5.1 (December 9, 2023)
Add CopyFromFunc helper function. (robford)
Add PgConn.Deallocate method that uses PostgreSQL protocol Close message.
pgx uses new PgConn.Deallocate method. This allows deallocating statements to work in a failed transaction. This fixes a case where the prepared statement map could become invalid.
Fix: Prefer driver.Valuer over json.Marshaler for json fields. (Jacopo)
Fix: simple protocol SQL sanitizer previously panicked if an invalid $0 placeholder was used. This now returns an error instead. (maksymnevajdev)
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hashicorp/go-kms-wrapping/network/alerts).
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps github.com/jackc/pgx/v5 from 5.4.3 to 5.5.4.
Changelog
Sourced from github.com/jackc/pgx/v5's changelog.
... (truncated)
Commits
da6f2c9
Update changelogc543134
SQL sanitizer wraps arguments in parentheses20344df
Check for overflow on uint16 sizes in pgproto3adbb38f
Do not allow protocol messages larger than ~1GBc1b0a01
Fix behavior of CollectRows to return empty slice if Rows are empty88dfc22
Fix simple protocol encoding of json.RawMessage2e84dcc
*Pipeline.getResults should close pipeline on errord149d3f
Fix panic in TryFindUnderlyingTypeScanPlan046f497
deallocateInvalidatedCachedStatements now runs in transactions8896bd6
Handle invalid sslkey fileYou can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show