From 52099657d517438f60647750a0d2e5cc98d4f012 Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Fri, 27 Jul 2007 17:05:18 +0000
Subject: [PATCH] Merged revisions 77540 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77540 | file | 2007-07-27 14:04:08 -0300 (Fri, 27 Jul 2007) | 6 lines

(closes issue #10310)
Reported by: prashant_jois
Patches:
      cdr_pgsql.patch uploaded by prashant (license 114)
Finish the Postgresql connection after the log messages are printed so we don't access invalid memory.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 cdr/cdr_pgsql.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c
index 82dce65e7b..4ccd4aa83b 100644
--- a/cdr/cdr_pgsql.c
+++ b/cdr/cdr_pgsql.c
@@ -87,9 +87,9 @@ static int pgsql_log(struct ast_cdr *cdr)
 			connected = 1;
 		} else {
 			pgerror = PQerrorMessage(conn);
-			PQfinish(conn);
 			ast_log(LOG_ERROR, "cdr_pgsql: Unable to connect to database server %s.  Calls will not be logged!\n", pghostname);
 			ast_log(LOG_ERROR, "cdr_pgsql: Reason: %s\n", pgerror);
+			PQfinish(conn);
 			conn = NULL;
 		}
 	}
@@ -146,9 +146,9 @@ static int pgsql_log(struct ast_cdr *cdr)
 				connected = 1;
 			} else {
 				pgerror = PQerrorMessage(conn);
-				PQfinish(conn);
 				ast_log(LOG_ERROR, "cdr_pgsql: Unable to reconnect to database server %s. Calls will not be logged!\n", pghostname);
 				ast_log(LOG_ERROR, "cdr_pgsql: Reason: %s\n", pgerror);
+				PQfinish(conn);
 				conn = NULL;
 				connected = 0;
 				ast_mutex_unlock(&pgsql_lock);
-- 
GitLab