]> granicus.if.org Git - postgresql/commitdiff
Remove incorrect (and ill-advised anyway) pfree's in pg_convert_from and
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jan 2008 23:43:54 +0000 (23:43 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jan 2008 23:43:54 +0000 (23:43 +0000)
pg_convert_to.  Per bug #3866 from Andrew Gilligan.

src/backend/utils/mb/mbutils.c

index 3cbd05f41a0726ffaf97516b8775cb803cc539e7..4d8043dfc83016e9ba2e778be38fb966ff722425 100644 (file)
@@ -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