diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-11-01 05:44:40 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-11-01 05:44:40 +0000 |
commit | c96c01cfd137626be35b62b9685bd4cc94f7892a (patch) | |
tree | 4d89d1d6ec6012f3418de40d6ad9eae7423ca407 /cdr/cdr_adaptive_odbc.c | |
parent | 78cae359c8bb19a0ca22c7a5d6ebe3c7e26fc4b5 (diff) |
Fix memory leak
Reported by: eliel
Fixed by: tilghman
Closes issue #11136
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'cdr/cdr_adaptive_odbc.c')
-rw-r--r-- | cdr/cdr_adaptive_odbc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cdr/cdr_adaptive_odbc.c b/cdr/cdr_adaptive_odbc.c index 66f704d68..129ae1682 100644 --- a/cdr/cdr_adaptive_odbc.c +++ b/cdr/cdr_adaptive_odbc.c @@ -314,8 +314,18 @@ static int odbc_log(struct ast_cdr *cdr) SQLHSTMT stmt = NULL; SQLLEN rows = 0; + if (!sql || !sql2) { + if (sql) + ast_free(sql); + if (sql2) + ast_free(sql2); + return -1; + } + if (AST_RWLIST_RDLOCK(&odbc_tables)) { ast_log(LOG_ERROR, "Unable to lock table list. Insert CDR(s) failed.\n"); + ast_free(sql); + ast_free(sql2); return -1; } |