Skip to content

Commit ac50f84

Browse files
committed
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.
1 parent 10fb48d commit ac50f84

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/catalog/objectaddress.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1831,7 +1831,7 @@ textarray_to_strvaluelist(ArrayType *arr)
18311831
Datum
18321832
pg_get_object_address(PG_FUNCTION_ARGS)
18331833
{
1834-
char *ttype = TextDatumGetCString(PG_GETARG_TEXT_P(0));
1834+
char *ttype = TextDatumGetCString(PG_GETARG_DATUM(0));
18351835
ArrayType *namearr = PG_GETARG_ARRAYTYPE_P(1);
18361836
ArrayType *argsarr = PG_GETARG_ARRAYTYPE_P(2);
18371837
int itype;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy