From a9742f123c25c7bc5ce0c18e188dba790da4fbe1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 9 Jan 2008 23:43:54 +0000 Subject: [PATCH] Remove incorrect (and ill-advised anyway) pfree's in pg_convert_from and pg_convert_to. Per bug #3866 from Andrew Gilligan. --- src/backend/utils/mb/mbutils.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c index 3cbd05f41a..4d8043dfc8 100644 --- a/src/backend/utils/mb/mbutils.c +++ b/src/backend/utils/mb/mbutils.c @@ -4,7 +4,7 @@ * (currently mule internal code (mic) is used) * Tatsuo Ishii * - * $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.68 2007/11/15 21:14:40 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.69 2008/01/09 23:43:54 tgl Exp $ */ #include "postgres.h" @@ -301,8 +301,8 @@ pg_convert_to(PG_FUNCTION_ARGS) { Datum string = PG_GETARG_DATUM(0); Datum dest_encoding_name = PG_GETARG_DATUM(1); - Datum src_encoding_name = DirectFunctionCall1( - namein, CStringGetDatum(DatabaseEncoding->name)); + Datum src_encoding_name = DirectFunctionCall1(namein, + CStringGetDatum(DatabaseEncoding->name)); Datum result; /* @@ -310,11 +310,8 @@ pg_convert_to(PG_FUNCTION_ARGS) * text argument here, relying on the fact that they are both in fact * varlena types, and thus structurally identical. */ - result = DirectFunctionCall3( - pg_convert, string, src_encoding_name, dest_encoding_name); - - /* free memory allocated by namein */ - pfree((void *) src_encoding_name); + result = DirectFunctionCall3(pg_convert, string, + src_encoding_name, dest_encoding_name); PG_RETURN_BYTEA_P(result); } @@ -329,15 +326,12 @@ pg_convert_from(PG_FUNCTION_ARGS) { Datum string = PG_GETARG_DATUM(0); Datum src_encoding_name = PG_GETARG_DATUM(1); - Datum dest_encoding_name = DirectFunctionCall1( - namein, CStringGetDatum(DatabaseEncoding->name)); + Datum dest_encoding_name = DirectFunctionCall1(namein, + CStringGetDatum(DatabaseEncoding->name)); Datum result; - result = DirectFunctionCall3( - pg_convert, string, src_encoding_name, dest_encoding_name); - - /* free memory allocated by namein */ - pfree((void *) src_encoding_name); + result = DirectFunctionCall3(pg_convert, string, + src_encoding_name, dest_encoding_name); /* * pg_convert returns a bytea, which we in turn return as text, relying on