mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-11 19:20:40 +08:00
Fix misuse of TextDatumGetCString().
"TextDatumGetCString(PG_GETARG_TEXT_P(x))" is formally wrong: a text* is not a Datum. Although this coding will accidentally fail to fail on all known platforms, it risks leaking memory if a detoast step is needed, unlike "TextDatumGetCString(PG_GETARG_DATUM(x))" which is what's used elsewhere. Make pg_get_object_address() fall in line with other uses. Noted while reviewing two-arg current_setting() patch.
This commit is contained in:
parent
10fb48d66d
commit
ac50f84866
@ -1831,7 +1831,7 @@ textarray_to_strvaluelist(ArrayType *arr)
|
||||
Datum
|
||||
pg_get_object_address(PG_FUNCTION_ARGS)
|
||||
{
|
||||
char *ttype = TextDatumGetCString(PG_GETARG_TEXT_P(0));
|
||||
char *ttype = TextDatumGetCString(PG_GETARG_DATUM(0));
|
||||
ArrayType *namearr = PG_GETARG_ARRAYTYPE_P(1);
|
||||
ArrayType *argsarr = PG_GETARG_ARRAYTYPE_P(2);
|
||||
int itype;
|
||||
|
Loading…
Reference in New Issue
Block a user