]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix leak
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 6 Nov 2008 00:09:44 +0000 (00:09 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 6 Nov 2008 00:09:44 +0000 (00:09 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10261 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_odbc.c

index ea6a58c98a44f5405640cb281f6e10d488ca096f..eaa6e9830cdbeb38198f89c2671c057b4859b6c0 100644 (file)
@@ -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);