Revert the behavior of inet/cidr functions to not unpack the arguments.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 12 Dec 2011 07:49:47 +0000 (09:49 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 12 Dec 2011 08:05:15 +0000 (10:05 +0200)
commit6cf639dfbddbc44d027730ad1504886312bc905a
treeaea17370c0325c034b0131b2482508a60309dc8e
parente45057e0a7c4f5c6f1d662853c616eea26e9b0e4
Revert the behavior of inet/cidr functions to not unpack the arguments.

I forgot to change the functions to use the PG_GETARG_INET_PP() macro,
when I changed DatumGetInetP() to unpack the datum, like Datum*P macros
usually do. Also, I screwed up the definition of the PG_GETARG_INET_PP()
macro, and didn't notice because it wasn't used.

This fixes the memory leak when sorting inet values, as reported
by Jochen Erwied and debugged by Andres Freund. Backpatch to 8.3, like
the previous patch that broke it.
src/backend/utils/adt/network.c
src/include/utils/inet.h