<h1>Project "FreeSWITCH Source" received a push.</h1>
<h2>branch: master updated</h2>
<pre>
via: 77f52081ffb6909db2bb6f59b57c2ecb400dbbbe (commit)
from: c6f044d5a105d11d5495884d164b36b47cae4afe (commit)
</pre>= COMMIT LOG ===========================================================
<div class="highlight"><pre>committer: Anthony Minessale
comments:
fix memory leak introduced in d8facbcf716612e826d451f4b5c3bcd938c46a3b
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/applications/mod_lcr/mod_lcr.c b/src/mod/applications/mod_lcr/mod_lcr.c</span>
<span style="color: #000080; font-weight: bold">index 2f2bc7d..5931179 100644</span>
<span style="color: #A00000">--- a/src/mod/applications/mod_lcr/mod_lcr.c</span>
<span style="color: #00A000">+++ b/src/mod/applications/mod_lcr/mod_lcr.c</span>
<span style="color: #800080; font-weight: bold">@@ -595,11 +595,12 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa</span>
        callback_t *cbt = (callback_t *) pArg;
        char *key = NULL;
        int i = 0;
<span style="color: #00A000">+        int r = 0;</span>
        switch_memory_pool_t *pool = cbt->pool;
        
        additional = switch_core_alloc(pool, sizeof(lcr_obj_t));
<span style="color: #A00000">-        additional->fields = switch_core_alloc(pool, sizeof(switch_event_t));</span>
<span style="color: #00A000">+        switch_event_create(&additional->fields, SWITCH_EVENT_REQUEST_PARAMS);</span>
        for (i = 0; i < argc ; i++) {
                if (CF("lcr_digits")) {
<span style="color: #800080; font-weight: bold">@@ -652,9 +653,9 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa</span>
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s to head of list\n", additional->carrier_name);
                if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) {
                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n");
<span style="color: #A00000">-                        return SWITCH_STATUS_GENERR;</span>
<span style="color: #00A000">+                        r = -1; goto end;</span>
                }
<span style="color: #A00000">-                return SWITCH_STATUS_SUCCESS;</span>
<span style="color: #00A000">+                r = 0; goto end;</span>
        }
        
<span style="color: #800080; font-weight: bold">@@ -676,7 +677,7 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa</span>
                                additional->prev = current;
                                if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) {
                                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n");
<span style="color: #A00000">-                                        return SWITCH_STATUS_GENERR;</span>
<span style="color: #00A000">+                                        r = -1; goto end;</span>
                                }
                                break;
                        }
<span style="color: #800080; font-weight: bold">@@ -697,7 +698,7 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa</span>
                                current->prev = additional;
                                if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) {
                                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n");
<span style="color: #A00000">-                                        return SWITCH_STATUS_GENERR;</span>
<span style="color: #00A000">+                                        r = -1; goto end;</span>
                                }
                                break;
                        } else if (current->next == NULL) {
<span style="color: #800080; font-weight: bold">@@ -707,13 +708,19 @@ static int route_add_callback(void *pArg, int argc, char **argv, char **columnNa</span>
                                additional->prev = current;
                                if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) {
                                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n");
<span style="color: #A00000">-                                        return SWITCH_STATUS_GENERR;</span>
<span style="color: #00A000">+                                        r = -1; goto end;</span>
                                }
                                break;
                        }
                }
        }
<span style="color: #A00000">-        return SWITCH_STATUS_SUCCESS;</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+ end:</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+        switch_event_destroy(&additional->fields);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+        return r;</span>
<span style="color: #00A000">+</span>
}
static int intrastatelata_callback(void *pArg, int argc, char **argv, char **columnNames)
</pre></div>
========================================================================<pre>
Summary of changes:
src/mod/applications/mod_lcr/mod_lcr.c | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
</pre>
<p>this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email<br />
For more info, see <a href="http://blog.chomperstomp.com/?p=630">http://blog.chomperstomp.com/?p=630</a>
-- <br />
FreeSWITCH Source</p>