diff options
author | Michael Paquier <michael@paquier.xyz> | 2024-02-14 08:59:05 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2024-02-14 08:59:05 +0900 |
commit | d0071f922808981e2371351c46da5bb3c49554b2 (patch) | |
tree | 65bc674b2b8fde778196c56cc426213144c20492 /src/backend/commands/copyfromparse.c | |
parent | f854dae888ab69db92153369644951dfb5b3d034 (diff) | |
download | postgresql-d0071f922808981e2371351c46da5bb3c49554b2.tar.gz postgresql-d0071f922808981e2371351c46da5bb3c49554b2.zip |
pgcrypto: Fix incorrect argument vs PG_GETARG*() mappings
The following functions use a mix of bytea and text arguments, but their
C internals always used PG_GETARG_BYTEA_PP(), creating an incorrect mix
with the argument types expected by encrypt_internal():
- pgp_sym_encrypt_bytea(bytea,text[,text])
- pgp_sym_encrypt(text,text[,text])
- pgp_sym_decrypt_bytea(bytea,text[,text])
- pgp_sym_decrypt(bytea,text[,text])
- pgp_pub_encrypt_bytea(bytea,bytea[,text])
- pgp_pub_encrypt(text,bytea[,text])
- pgp_pub_decrypt_bytea(bytea, bytea[,text[,text]])
- pgp_pub_decrypt(bytea,bytea[,text[,text]])
This commit fixes the inconsistencies between the PG_GETARG*() macros
and the argument types of each function.
Both BYTEA_PP() and TEXT_PP() rely on PG_DETOAST_DATUM_PACKED(), that
returns an unaligned pointer, so this was not leading to an actual
problem as far as I know, but let's be consistent.
Author: Shihao Zhong
Discussion: https://postgr.es/m/CAGRkXqRfiWT--DzVPx_UGpNHTt0YT5Jo8eV2CtT56jNP=QpXSQ@mail.gmail.com
Diffstat (limited to 'src/backend/commands/copyfromparse.c')
0 files changed, 0 insertions, 0 deletions