CVS User Account cvsuser
Tue Dec 12 11:27:04 PST 2006
Log Message:
-----------
Fix leaks in sync_event which were introduced with logshipping.

Modified Files:
--------------
    slony1-engine/src/slon:
        remote_worker.c (r1.129 -> r1.130)

-------------- next part --------------
Index: remote_worker.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.129
retrieving revision 1.130
diff -Lsrc/slon/remote_worker.c -Lsrc/slon/remote_worker.c -u -w -r1.129 -r1.130
--- src/slon/remote_worker.c
+++ src/slon/remote_worker.c
@@ -4011,6 +4011,7 @@
 		if (rc < 0)
 		{
 			dstring_free(&query);
+			dstring_free(&lsquery);
 			return 60;
 		}
 	}
@@ -4037,6 +4038,7 @@
 						 "No pa_conninfo for data provider %d\n",
 						 node->no_id, provider->no_id);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return 10;
 			}
@@ -4051,6 +4053,7 @@
 						 node->no_id, provider->no_id,
 						 provider->pa_conninfo);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return provider->pa_connretry;
 			}
@@ -4064,6 +4067,7 @@
 			if (query_execute(node, provider->conn->dbconn, &query) < 0)
 			{
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				slon_disconnectdb(provider->conn);
 				provider->conn = NULL;
@@ -4101,6 +4105,7 @@
 						 node->no_id, provider->no_id,
 						 event->ev_origin);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return 10;
 			}
@@ -4112,6 +4117,7 @@
 						 node->no_id, provider->no_id,
 						 prov_seqno, event->ev_origin);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return 10;
 			}
@@ -4180,6 +4186,7 @@
 			PQclear(res1);
 			dstring_free(&new_qual);
 			dstring_free(&query);
+			dstring_free(&lsquery);
 			archive_terminate(node);
 			return 60;
 		}
@@ -4230,6 +4237,7 @@
 				PQclear(res1);
 				dstring_free(&new_qual);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return 60;
 			}
@@ -4399,6 +4407,7 @@
 				 "no sets need syncing for this event\n",
 				 node->no_id);
 		dstring_free(&query);
+		dstring_free(&lsquery);
 		if (archive_dir)
 		{
 			rc = archive_close(node);
@@ -4421,6 +4430,7 @@
 				 PQresultErrorMessage(res1));
 		PQclear(res1);
 		dstring_free(&query);
+		dstring_free(&lsquery);
 		archive_terminate(node);
 		slon_disconnectdb(provider->conn);
 		provider->conn = NULL;
@@ -4433,6 +4443,7 @@
 				 node->no_id);
 		PQclear(res1);
 		dstring_free(&query);
+		dstring_free(&lsquery);
 		archive_terminate(node);
 		slon_disconnectdb(provider->conn);
 		provider->conn = NULL;
@@ -4658,6 +4669,7 @@
 	if (num_errors != 0)
 	{
 		dstring_free(&query);
+		dstring_free(&lsquery);
 		archive_terminate(node);
 		slon_log(SLON_ERROR, "remoteWorkerThread_%d: SYNC aborted\n",
 				 node->no_id);
@@ -4696,6 +4708,7 @@
 					 PQresultErrorMessage(res1));
 			PQclear(res1);
 			dstring_free(&query);
+			dstring_free(&lsquery);
 			archive_terminate(node);
 			slon_disconnectdb(provider->conn);
 			provider->conn = NULL;
@@ -4715,6 +4728,7 @@
 			{
 				PQclear(res1);
 				dstring_free(&query);
+				dstring_free(&lsquery);
 				archive_terminate(node);
 				return 60;
 			}
@@ -4773,6 +4787,7 @@
 					 PQresultErrorMessage(res1));
 			PQclear(res1);
 			dstring_free(&query);
+			dstring_free(&lsquery);
 			archive_terminate(node);
 			slon_log(SLON_ERROR, "remoteWorkerThread_%d: SYNC aborted\n",
 					 node->no_id);
@@ -4800,6 +4815,7 @@
 				 PQresultErrorMessage(res1));
 		PQclear(res1);
 		dstring_free(&query);
+		dstring_free(&lsquery);
 		archive_terminate(node);
 		return 60;
 	}
@@ -4815,6 +4831,7 @@
 		{
 			PQclear(res1);
 			dstring_free(&query);
+			dstring_free(&lsquery);
 			archive_terminate(node);
 			return 60;
 		}



More information about the Slony1-commit mailing list