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=qp...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d0071f922808981e2371351c46da5bb3c49554b2 Modified Files -------------- contrib/pgcrypto/pgp-pgsql.c | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-)