提交 bcc2aa98 authored 作者: William King's avatar William King

Fixing memory leak that would occur when reloading mod_xml_curl

上级 4def48b8
...@@ -457,7 +457,7 @@ static switch_status_t do_config(void) ...@@ -457,7 +457,7 @@ static switch_status_t do_config(void)
continue; continue;
} }
if (!(binding = malloc(sizeof(*binding)))) { if (!(binding = switch_core_alloc(globals.pool, sizeof(*binding)))) {
if (vars_map) if (vars_map)
switch_core_hash_destroy(&vars_map); switch_core_hash_destroy(&vars_map);
goto done; goto done;
...@@ -466,23 +466,23 @@ static switch_status_t do_config(void) ...@@ -466,23 +466,23 @@ static switch_status_t do_config(void)
binding->auth_scheme = auth_scheme; binding->auth_scheme = auth_scheme;
binding->timeout = timeout; binding->timeout = timeout;
binding->url = strdup(url); binding->url = switch_core_strdup(globals.pool, url);
switch_assert(binding->url); switch_assert(binding->url);
if (bind_local != NULL) { if (bind_local != NULL) {
binding->bind_local = strdup(bind_local); binding->bind_local = switch_core_strdup(globals.pool, bind_local);
} }
if (method != NULL) { if (method != NULL) {
binding->method = strdup(method); binding->method = switch_core_strdup(globals.pool, method);
} else { } else {
binding->method = NULL; binding->method = NULL;
} }
if (bind_mask) { if (bind_mask) {
binding->bindings = strdup(bind_mask); binding->bindings = switch_core_strdup(globals.pool, bind_mask);
} }
if (bind_cred) { if (bind_cred) {
binding->cred = strdup(bind_cred); binding->cred = switch_core_strdup(globals.pool, bind_cred);
} }
binding->disable100continue = disable100continue; binding->disable100continue = disable100continue;
...@@ -491,29 +491,29 @@ static switch_status_t do_config(void) ...@@ -491,29 +491,29 @@ static switch_status_t do_config(void)
binding->enable_cacert_check = enable_cacert_check; binding->enable_cacert_check = enable_cacert_check;
if (ssl_cert_file) { if (ssl_cert_file) {
binding->ssl_cert_file = strdup(ssl_cert_file); binding->ssl_cert_file = switch_core_strdup(globals.pool, ssl_cert_file);
} }
if (ssl_key_file) { if (ssl_key_file) {
binding->ssl_key_file = strdup(ssl_key_file); binding->ssl_key_file = switch_core_strdup(globals.pool, ssl_key_file);
} }
if (ssl_key_password) { if (ssl_key_password) {
binding->ssl_key_password = strdup(ssl_key_password); binding->ssl_key_password = switch_core_strdup(globals.pool, ssl_key_password);
} }
if (ssl_version) { if (ssl_version) {
binding->ssl_version = strdup(ssl_version); binding->ssl_version = switch_core_strdup(globals.pool, ssl_version);
} }
if (ssl_cacert_file) { if (ssl_cacert_file) {
binding->ssl_cacert_file = strdup(ssl_cacert_file); binding->ssl_cacert_file = switch_core_strdup(globals.pool, ssl_cacert_file);
} }
binding->enable_ssl_verifyhost = enable_ssl_verifyhost; binding->enable_ssl_verifyhost = enable_ssl_verifyhost;
if (cookie_file) { if (cookie_file) {
binding->cookie_file = strdup(cookie_file); binding->cookie_file = switch_core_strdup(globals.pool, cookie_file);
} }
binding->vars_map = vars_map; binding->vars_map = vars_map;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论