mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-15 11:29:56 +00:00
replaced a ton of free or strdup calls for zap_safe_free and zap_strdup
git-svn-id: http://svn.openzap.org/svn/openzap/branches/sangoma_boost@864 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
parent
f3d2328564
commit
34307d8e52
@ -226,13 +226,13 @@ void dsp_fsk_destroy(dsp_fsk_handle_t **handle)
|
|||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
if ((*handle)->correlates[i] != NULL) {
|
if ((*handle)->correlates[i] != NULL) {
|
||||||
free((*handle)->correlates[i]);
|
zap_safe_free((*handle)->correlates[i]);
|
||||||
(*handle)->correlates[i] = NULL;
|
(*handle)->correlates[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((*handle)->buffer != NULL) {
|
if ((*handle)->buffer != NULL) {
|
||||||
free((*handle)->buffer);
|
zap_safe_free((*handle)->buffer);
|
||||||
(*handle)->buffer = NULL;
|
(*handle)->buffer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,7 +241,7 @@ void dsp_fsk_destroy(dsp_fsk_handle_t **handle)
|
|||||||
dsp_uart_destroy(dhandle);
|
dsp_uart_destroy(dhandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(*handle);
|
zap_safe_free(*handle);
|
||||||
*handle = NULL;
|
*handle = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ create_hashtable(unsigned int minsize,
|
|||||||
h = (struct hashtable *)zap_malloc(sizeof(struct hashtable));
|
h = (struct hashtable *)zap_malloc(sizeof(struct hashtable));
|
||||||
if (NULL == h) return NULL; /*oom*/
|
if (NULL == h) return NULL; /*oom*/
|
||||||
h->table = (struct entry **)zap_malloc(sizeof(struct entry*) * size);
|
h->table = (struct entry **)zap_malloc(sizeof(struct entry*) * size);
|
||||||
if (NULL == h->table) { free(h); return NULL; } /*oom*/
|
if (NULL == h->table) { zap_safe_free(h); return NULL; } /*oom*/
|
||||||
memset(h->table, 0, size * sizeof(struct entry *));
|
memset(h->table, 0, size * sizeof(struct entry *));
|
||||||
h->tablelength = size;
|
h->tablelength = size;
|
||||||
h->primeindex = pindex;
|
h->primeindex = pindex;
|
||||||
@ -125,7 +125,7 @@ hashtable_expand(struct hashtable *h)
|
|||||||
newtable[index] = e;
|
newtable[index] = e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(h->table);
|
zap_safe_free(h->table);
|
||||||
h->table = newtable;
|
h->table = newtable;
|
||||||
}
|
}
|
||||||
/* Plan B: realloc instead */
|
/* Plan B: realloc instead */
|
||||||
@ -236,7 +236,7 @@ hashtable_remove(struct hashtable *h, void *k)
|
|||||||
if (e->flags & HASHTABLE_FLAG_FREE_KEY) {
|
if (e->flags & HASHTABLE_FLAG_FREE_KEY) {
|
||||||
freekey(e->k);
|
freekey(e->k);
|
||||||
}
|
}
|
||||||
free(e);
|
zap_safe_free(e);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
pE = &(e->next);
|
pE = &(e->next);
|
||||||
@ -258,11 +258,11 @@ hashtable_destroy(struct hashtable *h)
|
|||||||
{
|
{
|
||||||
e = table[i];
|
e = table[i];
|
||||||
while (NULL != e)
|
while (NULL != e)
|
||||||
{ f = e; e = e->next; if (f->flags & HASHTABLE_FLAG_FREE_KEY) freekey(f->k); if (f->flags & HASHTABLE_FLAG_FREE_VALUE) free(f->v); free(f); }
|
{ f = e; e = e->next; if (f->flags & HASHTABLE_FLAG_FREE_KEY) freekey(f->k); if (f->flags & HASHTABLE_FLAG_FREE_VALUE) zap_safe_free(f->v); zap_safe_free(f); }
|
||||||
}
|
}
|
||||||
|
|
||||||
free(h->table);
|
zap_safe_free(h->table);
|
||||||
free(h);
|
zap_safe_free(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
OZ_DECLARE(struct hashtable_iterator *) hashtable_next(struct hashtable_iterator *i)
|
OZ_DECLARE(struct hashtable_iterator *) hashtable_next(struct hashtable_iterator *i)
|
||||||
|
@ -138,7 +138,7 @@ hashtable_iterator_remove(struct hashtable_itr *itr)
|
|||||||
remember_parent = itr->parent;
|
remember_parent = itr->parent;
|
||||||
ret = hashtable_iterator_advance(itr);
|
ret = hashtable_iterator_advance(itr);
|
||||||
if (itr->parent == remember_e) { itr->parent = remember_parent; }
|
if (itr->parent == remember_e) { itr->parent = remember_parent; }
|
||||||
free(remember_e);
|
zap_safe_free(remember_e);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,6 +625,9 @@ OZ_DECLARE(zap_status_t) zap_queue_wait(zap_queue_t *queue, int ms);
|
|||||||
/*! destroy the queue */
|
/*! destroy the queue */
|
||||||
OZ_DECLARE(zap_status_t) zap_queue_destroy(zap_queue_t **queue);
|
OZ_DECLARE(zap_status_t) zap_queue_destroy(zap_queue_t **queue);
|
||||||
|
|
||||||
|
/* Duplicate string */
|
||||||
|
OZ_DECLARE(char *) zap_strdup(const char *str);
|
||||||
|
|
||||||
OZ_DECLARE(zap_size_t) zap_fsk_modulator_generate_bit(zap_fsk_modulator_t *fsk_trans, int8_t bit, int16_t *buf, zap_size_t buflen);
|
OZ_DECLARE(zap_size_t) zap_fsk_modulator_generate_bit(zap_fsk_modulator_t *fsk_trans, int8_t bit, int16_t *buf, zap_size_t buflen);
|
||||||
OZ_DECLARE(int32_t) zap_fsk_modulator_generate_carrier_bits(zap_fsk_modulator_t *fsk_trans, uint32_t bits);
|
OZ_DECLARE(int32_t) zap_fsk_modulator_generate_carrier_bits(zap_fsk_modulator_t *fsk_trans, uint32_t bits);
|
||||||
OZ_DECLARE(void) zap_fsk_modulator_generate_chan_sieze(zap_fsk_modulator_t *fsk_trans);
|
OZ_DECLARE(void) zap_fsk_modulator_generate_chan_sieze(zap_fsk_modulator_t *fsk_trans);
|
||||||
|
@ -142,7 +142,7 @@ TELETONE_API(int) teletone_init_session(teletone_generation_session_t *ts, int b
|
|||||||
TELETONE_API(int) teletone_destroy_session(teletone_generation_session_t *ts)
|
TELETONE_API(int) teletone_destroy_session(teletone_generation_session_t *ts)
|
||||||
{
|
{
|
||||||
if (ts->buffer) {
|
if (ts->buffer) {
|
||||||
free(ts->buffer);
|
zap_safe_free(ts->buffer);
|
||||||
ts->buffer = NULL;
|
ts->buffer = NULL;
|
||||||
ts->samples = 0;
|
ts->samples = 0;
|
||||||
}
|
}
|
||||||
@ -270,19 +270,6 @@ TELETONE_API(int) teletone_mux_tones(teletone_generation_session_t *ts, teletone
|
|||||||
return ts->samples;
|
return ts->samples;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* don't ask */
|
|
||||||
static char *my_strdup (const char *s)
|
|
||||||
{
|
|
||||||
size_t len = strlen (s) + 1;
|
|
||||||
void *new = zap_malloc(len);
|
|
||||||
|
|
||||||
if (new == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (char *) memcpy (new, s, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cmd)
|
TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cmd)
|
||||||
{
|
{
|
||||||
char *data = NULL, *cur = NULL, *end = NULL;
|
char *data = NULL, *cur = NULL, *end = NULL;
|
||||||
@ -293,7 +280,7 @@ TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cm
|
|||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (!(data = my_strdup(cmd))) {
|
if (!(data = zap_strdup(cmd))) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,7 +429,7 @@ TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
bottom:
|
bottom:
|
||||||
free(data);
|
zap_safe_free(data);
|
||||||
data = NULL;
|
data = NULL;
|
||||||
if (ts->LOOPS > 0) {
|
if (ts->LOOPS > 0) {
|
||||||
ts->LOOPS--;
|
ts->LOOPS--;
|
||||||
|
@ -210,7 +210,7 @@ static ZIO_API_FUNCTION(zap_libpri_api)
|
|||||||
int argc = 0;
|
int argc = 0;
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
mycmd = strdup(data);
|
mycmd = zap_strdup(data);
|
||||||
argc = zap_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0])));
|
argc = zap_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ static unsigned pika_open_range(zap_span_t *span, unsigned boardno, unsigned spa
|
|||||||
if (status != PK_SUCCESS) {
|
if (status != PK_SUCCESS) {
|
||||||
zap_log(ZAP_LOG_ERROR, "Error: PKH_QUEUE_Create failed(%s)!\n",
|
zap_log(ZAP_LOG_ERROR, "Error: PKH_QUEUE_Create failed(%s)!\n",
|
||||||
PKH_ERROR_GetText(status, error_text, sizeof(error_text)));
|
PKH_ERROR_GetText(status, error_text, sizeof(error_text)));
|
||||||
free(span_data);
|
zap_safe_free(span_data);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -605,7 +605,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(pika_configure_span)
|
|||||||
|
|
||||||
assert(str != NULL);
|
assert(str != NULL);
|
||||||
|
|
||||||
mydata = strdup(str);
|
mydata = zap_strdup(str);
|
||||||
assert(mydata != NULL);
|
assert(mydata != NULL);
|
||||||
|
|
||||||
if ((profile_name = strchr(mydata, '@'))) {
|
if ((profile_name = strchr(mydata, '@'))) {
|
||||||
@ -668,7 +668,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(pika_configure_span)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(mydata);
|
zap_safe_free(mydata);
|
||||||
|
|
||||||
return configured;
|
return configured;
|
||||||
}
|
}
|
||||||
@ -1211,7 +1211,7 @@ static ZIO_SPAN_DESTROY_FUNCTION(pika_span_destroy)
|
|||||||
|
|
||||||
if (span_data) {
|
if (span_data) {
|
||||||
PKH_QUEUE_Destroy(span_data->event_queue);
|
PKH_QUEUE_Destroy(span_data->event_queue);
|
||||||
free(span_data);
|
zap_safe_free(span_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ZAP_SUCCESS;
|
return ZAP_SUCCESS;
|
||||||
|
@ -752,7 +752,7 @@ static ZIO_SIG_CONFIGURE_FUNCTION(zap_r2_configure_span)
|
|||||||
r2conf.loglevel |= tmplevel;
|
r2conf.loglevel |= tmplevel;
|
||||||
zap_log(ZAP_LOG_DEBUG, "Configuring R2 span %d with loglevel %s\n", span->span_id, clevel);
|
zap_log(ZAP_LOG_DEBUG, "Configuring R2 span %d with loglevel %s\n", span->span_id, clevel);
|
||||||
}
|
}
|
||||||
free(logval);
|
zap_safe_free(logval);
|
||||||
} else if (!strcasecmp(var, "advanced_protocol_file")) {
|
} else if (!strcasecmp(var, "advanced_protocol_file")) {
|
||||||
if (!(val = va_arg(ap, char *))) {
|
if (!(val = va_arg(ap, char *))) {
|
||||||
break;
|
break;
|
||||||
@ -1182,7 +1182,7 @@ static ZIO_API_FUNCTION(zap_r2_api)
|
|||||||
int argc = 0;
|
int argc = 0;
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
mycmd = strdup(data);
|
mycmd = zap_strdup(data);
|
||||||
argc = zap_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0])));
|
argc = zap_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -397,7 +397,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(wanpipe_configure_span)
|
|||||||
assert(str != NULL);
|
assert(str != NULL);
|
||||||
|
|
||||||
|
|
||||||
mydata = strdup(str);
|
mydata = zap_strdup(str);
|
||||||
assert(mydata != NULL);
|
assert(mydata != NULL);
|
||||||
|
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(wanpipe_configure_span)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(mydata);
|
zap_safe_free(mydata);
|
||||||
|
|
||||||
return configured;
|
return configured;
|
||||||
}
|
}
|
||||||
|
@ -452,7 +452,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(zt_configure_span)
|
|||||||
assert(str != NULL);
|
assert(str != NULL);
|
||||||
|
|
||||||
|
|
||||||
mydata = strdup(str);
|
mydata = zap_strdup(str);
|
||||||
assert(mydata != NULL);
|
assert(mydata != NULL);
|
||||||
|
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(zt_configure_span)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(mydata);
|
zap_safe_free(mydata);
|
||||||
|
|
||||||
return configured;
|
return configured;
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ dsp_uart_handle_t *dsp_uart_create(dsp_uart_attr_t *attr)
|
|||||||
void dsp_uart_destroy(dsp_uart_handle_t **handle)
|
void dsp_uart_destroy(dsp_uart_handle_t **handle)
|
||||||
{
|
{
|
||||||
if (*handle) {
|
if (*handle) {
|
||||||
free(*handle);
|
zap_safe_free(*handle);
|
||||||
*handle = NULL;
|
*handle = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ OZ_DECLARE(zap_status_t) zap_buffer_create(zap_buffer_t **buffer, zap_size_t blo
|
|||||||
if (start_len) {
|
if (start_len) {
|
||||||
new_buffer->data = zap_malloc(start_len);
|
new_buffer->data = zap_malloc(start_len);
|
||||||
if (!new_buffer->data) {
|
if (!new_buffer->data) {
|
||||||
free(new_buffer);
|
zap_safe_free(new_buffer);
|
||||||
return ZAP_MEMERR;
|
return ZAP_MEMERR;
|
||||||
}
|
}
|
||||||
memset(new_buffer->data, 0, start_len);
|
memset(new_buffer->data, 0, start_len);
|
||||||
@ -283,8 +283,8 @@ OZ_DECLARE(zap_size_t) zap_buffer_zwrite(zap_buffer_t *buffer, const void *data,
|
|||||||
OZ_DECLARE(void) zap_buffer_destroy(zap_buffer_t **buffer)
|
OZ_DECLARE(void) zap_buffer_destroy(zap_buffer_t **buffer)
|
||||||
{
|
{
|
||||||
if (*buffer) {
|
if (*buffer) {
|
||||||
free((*buffer)->data);
|
zap_safe_free((*buffer)->data);
|
||||||
free(*buffer);
|
zap_safe_free(*buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
*buffer = NULL;
|
*buffer = NULL;
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "openzap.h"
|
||||||
#include "zap_dso.h"
|
#include "zap_dso.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -46,7 +47,7 @@ zap_dso_lib_t zap_dso_open(const char *path, char **err) {
|
|||||||
DWORD error = GetLastError();
|
DWORD error = GetLastError();
|
||||||
char tmp[80];
|
char tmp[80];
|
||||||
sprintf(tmp, "dll open error [%ul]\n", error);
|
sprintf(tmp, "dll open error [%ul]\n", error);
|
||||||
*err = _strdup(tmp);
|
*err = zap_strdup(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lib;
|
return lib;
|
||||||
@ -58,7 +59,7 @@ void* zap_dso_func_sym(zap_dso_lib_t lib, const char *sym, char **err) {
|
|||||||
DWORD error = GetLastError();
|
DWORD error = GetLastError();
|
||||||
char tmp[80];
|
char tmp[80];
|
||||||
sprintf(tmp, "dll sym error [%ul]\n", error);
|
sprintf(tmp, "dll sym error [%ul]\n", error);
|
||||||
*err = _strdup(tmp);
|
*err = zap_strdup(tmp);
|
||||||
}
|
}
|
||||||
return (void *)(intptr_t)func; // this should really be addr - zap_dso_func_data
|
return (void *)(intptr_t)func; // this should really be addr - zap_dso_func_data
|
||||||
}
|
}
|
||||||
@ -87,7 +88,7 @@ void zap_dso_destroy(zap_dso_lib_t *lib) {
|
|||||||
zap_dso_lib_t zap_dso_open(const char *path, char **err) {
|
zap_dso_lib_t zap_dso_open(const char *path, char **err) {
|
||||||
void *lib = dlopen(path, RTLD_NOW | RTLD_LOCAL);
|
void *lib = dlopen(path, RTLD_NOW | RTLD_LOCAL);
|
||||||
if (lib == NULL) {
|
if (lib == NULL) {
|
||||||
*err = strdup(dlerror());
|
*err = zap_strdup(dlerror());
|
||||||
}
|
}
|
||||||
return lib;
|
return lib;
|
||||||
}
|
}
|
||||||
@ -95,7 +96,7 @@ zap_dso_lib_t zap_dso_open(const char *path, char **err) {
|
|||||||
void *zap_dso_func_sym(zap_dso_lib_t lib, const char *sym, char **err) {
|
void *zap_dso_func_sym(zap_dso_lib_t lib, const char *sym, char **err) {
|
||||||
void *func = dlsym(lib, sym);
|
void *func = dlsym(lib, sym);
|
||||||
if (!func) {
|
if (!func) {
|
||||||
*err = strdup(dlerror());
|
*err = zap_strdup(dlerror());
|
||||||
}
|
}
|
||||||
return func;
|
return func;
|
||||||
}
|
}
|
||||||
|
@ -452,7 +452,7 @@ OZ_DECLARE(zap_status_t) zap_span_create(zap_io_interface_t *zio, zap_span_t **s
|
|||||||
snprintf(buf, sizeof(buf), "span%d", new_span->span_id);
|
snprintf(buf, sizeof(buf), "span%d", new_span->span_id);
|
||||||
name = buf;
|
name = buf;
|
||||||
}
|
}
|
||||||
new_span->name = strdup(name);
|
new_span->name = zap_strdup(name);
|
||||||
zap_span_add(new_span);
|
zap_span_add(new_span);
|
||||||
*span = new_span;
|
*span = new_span;
|
||||||
status = ZAP_SUCCESS;
|
status = ZAP_SUCCESS;
|
||||||
@ -2306,8 +2306,8 @@ OZ_DECLARE(zap_status_t) zap_channel_add_var(zap_channel_t *zchan, const char *v
|
|||||||
return ZAP_FAIL;
|
return ZAP_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
t_name = strdup(var_name);
|
t_name = zap_strdup(var_name);
|
||||||
t_val = strdup(value);
|
t_val = zap_strdup(value);
|
||||||
|
|
||||||
if(hashtable_insert(zchan->variable_hash, t_name, t_val, HASHTABLE_FLAG_FREE_KEY | HASHTABLE_FLAG_FREE_VALUE)) {
|
if(hashtable_insert(zchan->variable_hash, t_name, t_val, HASHTABLE_FLAG_FREE_KEY | HASHTABLE_FLAG_FREE_VALUE)) {
|
||||||
return ZAP_SUCCESS;
|
return ZAP_SUCCESS;
|
||||||
@ -2336,7 +2336,7 @@ OZ_DECLARE(char *) zap_api_execute(const char *type, const char *cmd)
|
|||||||
char *rval = NULL;
|
char *rval = NULL;
|
||||||
|
|
||||||
if (type && !cmd) {
|
if (type && !cmd) {
|
||||||
dup = strdup(type);
|
dup = zap_strdup(type);
|
||||||
if ((p = strchr(dup, ' '))) {
|
if ((p = strchr(dup, ' '))) {
|
||||||
*p++ = '\0';
|
*p++ = '\0';
|
||||||
cmd = p;
|
cmd = p;
|
||||||
@ -2440,7 +2440,7 @@ static zap_status_t load_config(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (zap_span_create(zio, &span, name) == ZAP_SUCCESS) {
|
if (zap_span_create(zio, &span, name) == ZAP_SUCCESS) {
|
||||||
span->type = strdup(type);
|
span->type = zap_strdup(type);
|
||||||
d = 0;
|
d = 0;
|
||||||
|
|
||||||
zap_log(ZAP_LOG_DEBUG, "created span %d (%s) of type %s\n", span->span_id, span->name, type);
|
zap_log(ZAP_LOG_DEBUG, "created span %d (%s) of type %s\n", span->span_id, span->name, type);
|
||||||
@ -2534,7 +2534,7 @@ static zap_status_t load_config(void)
|
|||||||
} else if (!strcasecmp(var, "cas-channel")) {
|
} else if (!strcasecmp(var, "cas-channel")) {
|
||||||
configured += zio->configure_span(span, val, ZAP_CHAN_TYPE_CAS, name, number);
|
configured += zio->configure_span(span, val, ZAP_CHAN_TYPE_CAS, name, number);
|
||||||
} else if (!strcasecmp(var, "dtmf_hangup")) {
|
} else if (!strcasecmp(var, "dtmf_hangup")) {
|
||||||
span->dtmf_hangup = strdup(val);
|
span->dtmf_hangup = zap_strdup(val);
|
||||||
span->dtmf_hangup_len = strlen(val);
|
span->dtmf_hangup_len = strlen(val);
|
||||||
} else {
|
} else {
|
||||||
zap_log(ZAP_LOG_ERROR, "unknown span variable '%s'\n", var);
|
zap_log(ZAP_LOG_ERROR, "unknown span variable '%s'\n", var);
|
||||||
@ -2849,7 +2849,7 @@ OZ_DECLARE(zap_status_t) zap_global_destroy(void)
|
|||||||
if (zap_test_flag(cur_chan, ZAP_CHANNEL_CONFIGURED)) {
|
if (zap_test_flag(cur_chan, ZAP_CHANNEL_CONFIGURED)) {
|
||||||
zap_channel_destroy(cur_chan);
|
zap_channel_destroy(cur_chan);
|
||||||
}
|
}
|
||||||
free(cur_chan);
|
zap_safe_free(cur_chan);
|
||||||
cur_chan = NULL;
|
cur_chan = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2866,7 +2866,7 @@ OZ_DECLARE(zap_status_t) zap_global_destroy(void)
|
|||||||
hashtable_remove(globals.span_hash, (void *)cur_span->name);
|
hashtable_remove(globals.span_hash, (void *)cur_span->name);
|
||||||
zap_safe_free(cur_span->type);
|
zap_safe_free(cur_span->type);
|
||||||
zap_safe_free(cur_span->name);
|
zap_safe_free(cur_span->name);
|
||||||
free(cur_span);
|
zap_safe_free(cur_span);
|
||||||
cur_span = NULL;
|
cur_span = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3157,7 +3157,7 @@ OZ_DECLARE_NONSTD(zap_status_t) zap_console_stream_write(zap_stream_handle_t *ha
|
|||||||
end = handle->end;
|
end = handle->end;
|
||||||
} else {
|
} else {
|
||||||
zap_log(ZAP_LOG_CRIT, "Memory Error!\n");
|
zap_log(ZAP_LOG_CRIT, "Memory Error!\n");
|
||||||
free(data);
|
zap_safe_free(data);
|
||||||
return ZAP_FAIL;
|
return ZAP_FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3170,12 +3170,23 @@ OZ_DECLARE_NONSTD(zap_status_t) zap_console_stream_write(zap_stream_handle_t *ha
|
|||||||
handle->data_len = strlen(buf);
|
handle->data_len = strlen(buf);
|
||||||
handle->end = (uint8_t *) (handle->data) + handle->data_len;
|
handle->end = (uint8_t *) (handle->data) + handle->data_len;
|
||||||
}
|
}
|
||||||
free(data);
|
zap_safe_free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret ? ZAP_FAIL : ZAP_SUCCESS;
|
return ret ? ZAP_FAIL : ZAP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OZ_DECLARE(char *) zap_strdup(const char *str)
|
||||||
|
{
|
||||||
|
zap_size_t len = strlen(str) + 1;
|
||||||
|
void *new = zap_malloc(len);
|
||||||
|
|
||||||
|
if (!new) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (char *)memcpy(new, str, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* For Emacs:
|
/* For Emacs:
|
||||||
|
@ -487,7 +487,7 @@ static ZIO_SPAN_DESTROY_FUNCTION(m3ua_span_destroy)
|
|||||||
m3ua_span_data_t *span_data = (m3ua_span_data_t *) span->mod_data;
|
m3ua_span_data_t *span_data = (m3ua_span_data_t *) span->mod_data;
|
||||||
|
|
||||||
if (span_data) {
|
if (span_data) {
|
||||||
free(span_data);
|
zap_safe_free(span_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ZAP_SUCCESS;
|
return ZAP_SUCCESS;
|
||||||
@ -513,7 +513,7 @@ static ZIO_CHANNEL_DESTROY_FUNCTION(m3ua_channel_destroy)
|
|||||||
zap_safe_free(chan_data);
|
zap_safe_free(chan_data);
|
||||||
|
|
||||||
if (span_data) {
|
if (span_data) {
|
||||||
free(span_data);
|
zap_safe_free(span_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ static void * ZAP_THREAD_CALLING_CONVENTION thread_launch(void *args)
|
|||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
pthread_attr_destroy(&thread->attribute);
|
pthread_attr_destroy(&thread->attribute);
|
||||||
#endif
|
#endif
|
||||||
free(thread);
|
zap_safe_free(thread);
|
||||||
|
|
||||||
return exit_val;
|
return exit_val;
|
||||||
}
|
}
|
||||||
@ -134,7 +134,7 @@ OZ_DECLARE(zap_status_t) zap_thread_create_detached_ex(zap_thread_function_t fun
|
|||||||
|
|
||||||
fail:
|
fail:
|
||||||
if (thread) {
|
if (thread) {
|
||||||
free(thread);
|
zap_safe_free(thread);
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
return status;
|
return status;
|
||||||
@ -192,7 +192,7 @@ OZ_DECLARE(zap_status_t) zap_mutex_destroy(zap_mutex_t **mutex)
|
|||||||
if (pthread_mutex_destroy(&mp->mutex))
|
if (pthread_mutex_destroy(&mp->mutex))
|
||||||
return ZAP_FAIL;
|
return ZAP_FAIL;
|
||||||
#endif
|
#endif
|
||||||
free(mp);
|
zap_safe_free(mp);
|
||||||
return ZAP_SUCCESS;
|
return ZAP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user