Missing calls to PQclear in large_obj.c and describe.c.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Jun 2003 16:55:23 +0000 (16:55 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Jun 2003 16:55:23 +0000 (16:55 +0000)
Greg Sabino Mullane

src/bin/psql/describe.c
src/bin/psql/large_obj.c

index a20cc1a4207c4f4a98d3a66c0a36f907c7dd8428..39aaf699da4c565cdd0f3bcd79247840aa35736c 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000-2002 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.77 2003/05/28 16:03:59 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.78 2003/06/27 16:55:22 tgl Exp $
  */
 #include "postgres_fe.h"
 #include "describe.h"
@@ -963,7 +963,10 @@ describeOneTableDetails(const char *schemaname,
                                                          oid);
                        result2 = PSQLexec(buf.data, false);
                        if (!result2)
+                       {
+                               PQclear(result1);
                                goto error_return;
+                       }
                        else
                                check_count = PQntuples(result2);
                }
@@ -978,7 +981,11 @@ describeOneTableDetails(const char *schemaname,
                                                          oid);
                        result3 = PSQLexec(buf.data, false);
                        if (!result3)
+                       {
+                               PQclear(result1);
+                               PQclear(result2);
                                goto error_return;
+                       }
                        else
                                rule_count = PQntuples(result3);
                }
@@ -998,7 +1005,12 @@ describeOneTableDetails(const char *schemaname,
                                                          oid);
                        result4 = PSQLexec(buf.data, false);
                        if (!result4)
+                       {
+                               PQclear(result1);
+                               PQclear(result2);
+                               PQclear(result3);
                                goto error_return;
+                       }
                        else
                                trigger_count = PQntuples(result4);
                }
@@ -1014,7 +1026,13 @@ describeOneTableDetails(const char *schemaname,
                                                          oid);
                        result5 = PSQLexec(buf.data, false);
                        if (!result5)
+                       {
+                               PQclear(result1);
+                               PQclear(result2);
+                               PQclear(result3);
+                               PQclear(result4);
                                goto error_return;
+                       }
                        else
                                foreignkey_count = PQntuples(result5);
                }
index b39ef0dca1c9ecc803212c6baada2f04d4da9854..3d0b3a6eb96f31567427a092d4884f12ed515f77 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000-2002 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.25 2003/04/18 23:38:47 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.26 2003/06/27 16:55:23 tgl Exp $
  */
 #include "postgres_fe.h"
 #include "large_obj.h"
@@ -78,6 +78,7 @@ handle_transaction(void)
        }
 
        PQsetNoticeProcessor(pset.db, old_notice_hook, NULL);
+       PQclear(res);
        return true;
 }
 
@@ -324,6 +325,7 @@ do_lo_unlink(const char *loid_arg)
                        }
                        return false;
                }
+               PQclear(res);
        }
 
        if (own_transaction)