Applied patch by Peter Harris to free auto_mem structure on connect
authorMichael Meskes
Wed, 8 Nov 2006 10:46:47 +0000 (10:46 +0000)
committerMichael Meskes
Wed, 8 Nov 2006 10:46:47 +0000 (10:46 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ecpglib/connect.c
src/interfaces/ecpg/ecpglib/memory.c

index 5e4524e791a429a7fb8ab5fb26e8d135296a6be1..95605f475fd0bd8788c5173c20747d0d497798fb 100644 (file)
@@ -2149,5 +2149,9 @@ Th 14. Sep 09:47:03 CEST 2006
 
    - Completely removed complex tests.
    - Added missing constuctor/destructor for interval and date.
+
+We 8. Nov 10:53:42 CET 2006
+
+   - Applied patch by Peter Harris to free auto_mem struct in ECPGconnect.
    - Set ecpg library version to 5.2.
    - Set ecpg version to 4.2.1.
index 9636c91a363bb380f0045ccabaea0e8c47cc11ff..374264cee0939ab594b0b8888db712de5b5a09f6 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.36 2006/10/04 00:30:11 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.37 2006/11/08 10:46:47 meskes Exp $ */
 
 #define POSTGRES_ECPG_INTERNAL
 #include "postgres_fe.h"
@@ -277,6 +277,9 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
 
    ECPGinit_sqlca(sqlca);
 
+   /* clear auto_mem structure because some error handling functions might access it */
+   ECPGclear_auto_mem();
+
    if (INFORMIX_MODE(compat))
    {
        char       *envname;
index 49d3c29d1e331a1ffb8c36d30a3f3f09c0d4c3d5..3ee89a189a16e40b35c397613afaafcfa59ef9a5 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/memory.c,v 1.7 2005/10/15 02:49:47 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/memory.c,v 1.8 2006/11/08 10:46:47 meskes Exp $ */
 
 #define POSTGRES_ECPG_INTERNAL
 #include "postgres_fe.h"
@@ -101,7 +101,7 @@ ECPGclear_auto_mem(void)
 {
    struct auto_mem *am;
 
-   /* free just our own structure */
+   /* only free our own structure */
    for (am = auto_allocs; am;)
    {
        struct auto_mem *act = am;