From 829eca6a495d401f79b02e01bbe329717bc842a4 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Sun, 24 Aug 2008 16:36:09 +0000 Subject: [PATCH] Merged revisions 139707 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r139707 | tilghman | 2008-08-24 11:26:48 -0500 (Sun, 24 Aug 2008) | 2 lines Memory leak ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@139709 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- cdr/cdr_pgsql.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c index 3f518cc4d7..40c64bc9c0 100644 --- a/cdr/cdr_pgsql.c +++ b/cdr/cdr_pgsql.c @@ -132,7 +132,17 @@ static int pgsql_log(struct ast_cdr *cdr) int lensql, lensql2, sizesql = maxsize, sizesql2 = maxsize2, newsize; char *sql = ast_calloc(sizeof(char), sizesql), *sql2 = ast_calloc(sizeof(char), sizesql2), *tmp, *value; char buf[257], escapebuf[513]; - + + if (!sql || !sql2) { + if (sql) { + ast_free(sql); + } + if (sql2) { + ast_free(sql2); + } + return -1; + } + lensql = snprintf(sql, sizesql, "INSERT INTO %s (", table); lensql2 = snprintf(sql2, sizesql2, " VALUES ("); @@ -288,6 +298,8 @@ static int pgsql_log(struct ast_cdr *cdr) conn = NULL; connected = 0; ast_mutex_unlock(&pgsql_lock); + ast_free(sql); + ast_free(sql2); return -1; } } @@ -311,9 +323,13 @@ static int pgsql_log(struct ast_cdr *cdr) } ast_mutex_unlock(&pgsql_lock); PQclear(result); + ast_free(sql); + ast_free(sql2); return -1; } PQclear(result); + ast_free(sql); + ast_free(sql2); } ast_mutex_unlock(&pgsql_lock); return 0;