From 78541e1ddbca6c94148296be40041bdd6035ad62 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthony.minessale@gmail.com>
Date: Thu, 6 Nov 2008 00:09:44 +0000
Subject: [PATCH] fix leak

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10261 d0543943-73ff-0310-b7d9-9358b9ac24b2
---
 src/switch_odbc.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/switch_odbc.c b/src/switch_odbc.c
index ea6a58c98a..eaa6e9830c 100644
--- a/src/switch_odbc.c
+++ b/src/switch_odbc.c
@@ -359,7 +359,8 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec(switch_odb
 		char **names;
 		char **vals;
 		int y = 0;
-		
+		int done = 0;
+
 		if (!(result = SQLFetch(stmt)) == SQL_SUCCESS) {
 			break;
 		}
@@ -385,7 +386,7 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec(switch_odb
 		}
 
 		if (callback(pdata, y, vals, names)) {
-			break;
+			done = 1;
 		}
 
 		for (x = 0; x < y; x++) {
@@ -394,6 +395,10 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec(switch_odb
 		}
 		free(names);
 		free(vals);
+
+		if (done) {
+			break;
+		}
 	}
 	
 	SQLFreeHandle(SQL_HANDLE_STMT, stmt);