Remote turn_free()

Do not overload free() with a different API.
pull/359/head
Bradley T. Hughes 7 years ago
parent 31033c3ffa
commit b50fc77124
  1. 10
      src/apps/common/apputils.c
  2. 2
      src/apps/common/hiredis_libevent2.c
  3. 26
      src/apps/common/ns_turn_utils.c
  4. 2
      src/apps/peer/udpserver.c
  5. 8
      src/apps/relay/dbdrivers/dbd_mongo.c
  6. 24
      src/apps/relay/dbdrivers/dbd_mysql.c
  7. 4
      src/apps/relay/dbdrivers/dbd_pgsql.c
  8. 16
      src/apps/relay/dbdrivers/dbd_redis.c
  9. 8
      src/apps/relay/dbdrivers/dbd_sqlite.c
  10. 10
      src/apps/relay/mainrelay.c
  11. 2
      src/apps/relay/netengine.c
  12. 16
      src/apps/relay/ns_ioalib_engine_impl.c
  13. 14
      src/apps/relay/turn_admin_server.c
  14. 38
      src/apps/relay/userdb.c
  15. 6
      src/apps/uclient/uclient.c
  16. 6
      src/client++/TurnMsgLib.h
  17. 2
      src/client/ns_turn_ioaddr.c
  18. 2
      src/client/ns_turn_msg.c
  19. 3
      src/ns_turn_defs.h
  20. 14
      src/server/ns_turn_allocation.c
  21. 8
      src/server/ns_turn_khash.h
  22. 26
      src/server/ns_turn_maps.c
  23. 10
      src/server/ns_turn_maps_rtcp.c
  24. 18
      src/server/ns_turn_server.c

@ -769,9 +769,9 @@ void set_execdir(void)
else
edir = dirname(_var);
if(c_execdir)
turn_free(c_execdir,strlen(c_execdir)+1);
free(c_execdir);
c_execdir = turn_strdup(edir);
turn_free(_var,strlen(_var)+1);
free(_var);
}
}
@ -836,7 +836,7 @@ char* find_config_file(const char *config_file, int print_file_name)
full_path_to_config_file = fn;
break;
}
turn_free(fn,fnsz+1);
free(fn);
if(config_file_search_dirs[i][0]!='/' &&
config_file_search_dirs[i][0]!='.' &&
c_execdir && c_execdir[0]) {
@ -867,7 +867,7 @@ char* find_config_file(const char *config_file, int print_file_name)
break;
}
}
turn_free(fn,fnsz+1);
free(fn);
}
++i;
}
@ -1128,7 +1128,7 @@ void convert_oauth_key_data_raw(const oauth_key_data_raw *raw, oauth_key_data *o
if(ikm_key) {
ns_bcopy(ikm_key,oakd->ikm_key,ikm_key_size);
oakd->ikm_key_size = ikm_key_size;
turn_free(ikm_key,ikm_key_size);
free(ikm_key);
}
}
}

@ -277,7 +277,7 @@ redis_context_handle redisLibeventAttach(struct event_base *base, char *ip0, int
e);
if (e->rev == NULL || e->wev == NULL) {
turn_free(e, sizeof(struct redisLibeventEvents));
free(e, sizeof(struct redisLibeventEvents));
return NULL;
}

@ -122,7 +122,7 @@ int turn_mutex_init_recursive(turn_mutex* mutex) {
&attr)) < 0) {
perror("Cannot init mutex");
mutex->data = 0;
turn_free(mutex->mutex,sizeof(pthread_mutex_t));
free(mutex->mutex);
mutex->mutex = NULL;
}
}
@ -136,7 +136,7 @@ int turn_mutex_destroy(turn_mutex* mutex) {
if(mutex && mutex->mutex && mutex->data == MAGIC_CODE) {
int ret = 0;
ret = pthread_mutex_destroy((pthread_mutex_t*)(mutex->mutex));
turn_free(mutex->mutex, sizeof(pthread_mutex_t));
free(mutex->mutex);
mutex->mutex=NULL;
mutex->data=0;
return ret;
@ -319,11 +319,11 @@ static void set_log_file_name_func(char *base, char *f, size_t fsz)
if(base1[len]=='/')
break;
else if(base1[len]=='.') {
turn_free(tail,strlen(tail)+1);
free(tail);
tail=turn_strdup(base1+len);
base1[len]=0;
if(strlen(tail)<2) {
turn_free(tail,strlen(tail)+1);
free(tail);
tail = turn_strdup(".log");
}
break;
@ -338,8 +338,8 @@ static void set_log_file_name_func(char *base, char *f, size_t fsz)
snprintf(f, FILE_STR_LEN, "%s%s%s", base1,logdate,tail);
}
turn_free(base1,strlen(base1)+1);
turn_free(tail,strlen(tail)+1);
free(base1);
free(tail);
}
static void sighup_callback_handler(int signum)
@ -787,18 +787,6 @@ void tm_print_func(void) {
pthread_mutex_unlock(&tm);
}
extern "C" void turn_free_func(void *ptr, size_t sz, const char* function, int line);
void turn_free_func(void *ptr, size_t sz, const char* function, int line) {
UNUSED_ARG(sz);
TM_START();
del_tm_ptr(ptr,id);
free(ptr);
}
extern "C" void *turn_calloc_func(size_t number, size_t size, const char* function, int line);
void *turn_calloc_func(size_t number, size_t size, const char* function, int line) {
@ -846,7 +834,7 @@ int is_secure_string(const u08bits *string, int sanitizesql)
} else {
ret = 1;
}
turn_free(s,strlen((char*)s));
free(s);
}
return ret;
}

@ -123,7 +123,7 @@ static server_type* init_server(int verbose, const char* ifname, char **local_ad
static int clean_server(server_type* server) {
if(server) {
if(server->event_base) event_base_free(server->event_base);
turn_free(server,sizeof(server_type));
free(server);
}
return 0;
}

@ -74,7 +74,7 @@ static void MongoFree(MONGO * info) {
if(info) {
if(info->uri) mongoc_uri_destroy(info->uri);
if(info->client) mongoc_client_destroy(info->client);
turn_free(info, sizeof(MONGO));
free(info);
}
}
@ -893,7 +893,7 @@ static int mongo_set_realm_option_one(u08bits *realm, unsigned long value, const
BSON_APPEND_INT32(&child, _k, 1);
bson_append_document_end(&doc, &child);
}
turn_free(_k,klen);
free(_k);
int ret = -1;
@ -1124,7 +1124,7 @@ static void mongo_reread_realms(secrets_list_t * realms_list) {
ur_string_map_put(o_to_realm_new,
(const ur_string_map_key_type) _origin,
value);
turn_free(_origin,strlen(_origin)+1);
free(_origin);
}
}
}
@ -1173,7 +1173,7 @@ static void mongo_reread_realms(secrets_list_t * realms_list) {
}
}
}
turn_free(_realm,strlen(_realm)+1);
free(_realm);
}
}
update_o_to_realm(o_to_realm_new);

@ -61,15 +61,15 @@ typedef struct _Myconninfo Myconninfo;
static void MyconninfoFree(Myconninfo *co) {
if(co) {
if(co->host) turn_free(co->host,strlen(co->host)+1);
if(co->dbname) turn_free(co->dbname, strlen(co->dbname)+1);
if(co->user) turn_free(co->user, strlen(co->user)+1);
if(co->password) turn_free(co->password, strlen(co->password)+1);
if(co->key) turn_free(co->key, strlen(co->key)+1);
if(co->ca) turn_free(co->ca, strlen(co->ca)+1);
if(co->cert) turn_free(co->cert, strlen(co->cert)+1);
if(co->capath) turn_free(co->capath, strlen(co->capath)+1);
if(co->cipher) turn_free(co->cipher, strlen(co->cipher)+1);
if(co->host) free(co->host);
if(co->dbname) free(co->dbname);
if(co->user) free(co->user);
if(co->password) free(co->password);
if(co->key) free(co->key);
if(co->ca) free(co->ca);
if(co->cert) free(co->cert);
if(co->capath) free(co->capath);
if(co->cipher) free(co->cipher);
ns_bzero(co,sizeof(Myconninfo));
}
}
@ -203,7 +203,7 @@ static Myconninfo *MyconninfoParse(char *userdb, char **errmsg) {
s = snext;
}
turn_free(s0, strlen(s0)+1);
free(s0);
}
if(co) {
@ -240,13 +240,13 @@ static MYSQL *get_mydb_connection(void) {
if(!co) {
if(errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open MySQL DB connection <%s>, connection string format error: %s\n",pud->userdb,errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
} else {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open MySQL DB connection <%s>, connection string format error\n",pud->userdb);
}
} else if(errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open MySQL DB connection <%s>, connection string format error: %s\n",pud->userdb,errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
MyconninfoFree(co);
} else if(!(co->dbname)) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "MySQL Database name is not provided: <%s>\n",pud->userdb);

@ -58,14 +58,14 @@ static PGconn *get_pqdb_connection(void) {
if(!co) {
if(errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open PostgreSQL DB connection <%s>, connection string format error: %s\n",pud->userdb,errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
} else {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open PostgreSQL DB connection: <%s>, unknown connection string format error\n",pud->userdb);
}
} else {
PQconninfoFree(co);
if(errmsg)
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
pqdbconnection = PQconnectdb(pud->userdb);
if(!pqdbconnection) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open PostgreSQL DB connection: <%s>, runtime error\n",pud->userdb);

@ -58,9 +58,9 @@ typedef struct _Ryconninfo Ryconninfo;
static void RyconninfoFree(Ryconninfo *co) {
if(co) {
if(co->host) turn_free(co->host, strlen(co->host)+1);
if(co->dbname) turn_free(co->dbname, strlen(co->dbname)+1);
if(co->password) turn_free(co->password, strlen(co->password)+1);
if(co->host) free(co->host);
if(co->dbname) free(co->dbname);
if(co->password) free(co->password);
ns_bzero(co,sizeof(Ryconninfo));
}
}
@ -145,7 +145,7 @@ static Ryconninfo *RyconninfoParse(const char *userdb, char **errmsg) {
s = snext;
}
turn_free(s0, strlen(s0)+1);
free(s0);
}
if(co) {
@ -170,13 +170,13 @@ redis_context_handle get_redis_async_connection(struct event_base *base, const c
if (!co) {
if (errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error: %s\n", connection_string, errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
} else {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error\n", connection_string);
}
} else if (errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error: %s\n", connection_string, errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
RyconninfoFree(co);
} else {
@ -284,13 +284,13 @@ static redisContext *get_redis_connection(void) {
if (!co) {
if (errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error: %s\n", pud->userdb, errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
} else {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error\n", pud->userdb);
}
} else if (errmsg) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Cannot open Redis DB connection <%s>, connection string format error: %s\n", pud->userdb, errmsg);
turn_free(errmsg,strlen(errmsg)+1);
free(errmsg);
RyconninfoFree(co);
} else {
char ip[256] = "\0";

@ -144,7 +144,7 @@ static void fix_user_directory(char *dir0) {
strncpy(dir_fixed,home,szh);
strncpy(dir_fixed+szh,dir+1,(sz-szh-1));
strncpy(dir0,dir_fixed,sz);
turn_free(dir_fixed,sz);
free(dir_fixed);
}
}
@ -276,7 +276,7 @@ static int sqlite_get_user_key(u08bits *usname, u08bits *realm, hmackey_t key)
} else {
ret = 0;
}
turn_free(kval,strlen(kval)+1);
free(kval);
}
} else {
const char* errmsg = sqlite3_errmsg(sqliteconnection);
@ -1040,7 +1040,7 @@ static void sqlite_reread_realms(secrets_list_t * realms_list)
ur_string_map_value_type value = rval;
ur_string_map_put(o_to_realm_new, (const ur_string_map_key_type) oval, value);
turn_free(oval,strlen(oval)+1);
free(oval);
} else if (res == SQLITE_DONE) {
break;
@ -1116,7 +1116,7 @@ static void sqlite_reread_realms(secrets_list_t * realms_list)
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Unknown realm option: %s\n", oval);
}
turn_free(rval,strlen(rval)+1);
free(rval);
} else if (res == SQLITE_DONE) {
break;

@ -1326,7 +1326,7 @@ static void set_option(int c, char *value)
ioa_addr_add_mapping(&apub,&apriv);
}
}
turn_free(nval,strlen(nval)+1);
free(nval);
} else {
if(turn_params.external_ip) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "You cannot define external IP more than once in the configuration\n");
@ -1334,7 +1334,7 @@ static void set_option(int c, char *value)
turn_params.external_ip = (ioa_addr*)allocate_super_memory_engine(turn_params.listener.ioa_eng, sizeof(ioa_addr));
if(make_ioa_addr((const u08bits*)value,0,turn_params.external_ip)<0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR,"-X : Wrong address format: %s\n",value);
turn_free(turn_params.external_ip,sizeof(ioa_addr));
free(turn_params.external_ip);
turn_params.external_ip = NULL;
}
}
@ -1682,7 +1682,7 @@ static void read_config_file(int argc, char **argv, int pass)
config_file);
if (full_path_to_config_file) {
turn_free(full_path_to_config_file, strlen(full_path_to_config_file)+1);
free(full_path_to_config_file);
full_path_to_config_file = NULL;
}
}
@ -2537,7 +2537,7 @@ static void adjust_key_file_name(char *fn, const char* file_title, int critical)
fn[sizeof(turn_params.cert_file)-1]=0;
if(full_path_to_file)
turn_free(full_path_to_file,strlen(full_path_to_file)+1);
free(full_path_to_file);
return;
}
@ -2549,7 +2549,7 @@ static void adjust_key_file_name(char *fn, const char* file_title, int critical)
TURN_LOG_FUNC(TURN_LOG_LEVEL_WARNING,"WARNING: cannot start TLS and DTLS listeners because %s file is not set properly\n",file_title);
}
if(full_path_to_file)
turn_free(full_path_to_file,strlen(full_path_to_file)+1);
free(full_path_to_file);
return;
}
}

@ -258,7 +258,7 @@ static void del_alt_server(const char *saddr, int default_port, turn_server_addr
addr_cpy(&(new_addrs[j]),&(list->addrs[j+1]));
}
turn_free(list->addrs,0);
free(list->addrs);
list->addrs = new_addrs;
list->size -= 1;

@ -281,7 +281,7 @@ static void pop_elem_from_buffer_list(stun_buffer_list *bufs)
stun_buffer_list_elem *ret = bufs->head;
bufs->head=ret->next;
--bufs->tsz;
turn_free(ret,sizeof(stun_buffer_list_elem));
free(ret);
}
}
@ -327,7 +327,7 @@ static void free_blist_elem(ioa_engine_handle e, stun_buffer_list_elem *buf_elem
if(e && (e->bufs.tsz<MAX_BUFFER_QUEUE_SIZE_PER_ENGINE)) {
add_elem_to_buffer_list(&(e->bufs), buf_elem);
} else {
turn_free(buf_elem,sizeof(stun_buffer_list_elem));
free(buf_elem);
}
}
}
@ -603,10 +603,10 @@ void delete_ioa_timer(ioa_timer_handle th)
stop_ioa_timer(th);
timer_event *te = (timer_event *)th;
if(te->txt) {
turn_free(te->txt,strlen(te->txt)+1);
free(te->txt);
te->txt = NULL;
}
turn_free(th,sizeof(timer_event));
free(th);
}
}
@ -1529,7 +1529,7 @@ void close_ioa_socket(ioa_socket_handle s)
}
if(s->special_session) {
turn_free(s->special_session,s->special_session_size);
free(s->special_session);
s->special_session = NULL;
}
s->special_session_size = 0;
@ -1543,7 +1543,7 @@ void close_ioa_socket(ioa_socket_handle s)
s->sub_session = NULL;
s->magic = 0;
turn_free(s,sizeof(ioa_socket));
free(s);
}
}
@ -2552,7 +2552,7 @@ void close_ioa_socket_after_processing_if_necessary(ioa_socket_handle s)
if (s && ioa_socket_tobeclosed(s)) {
if(s->special_session) {
turn_free(s->special_session,s->special_session_size);
free(s->special_session);
s->special_session = NULL;
}
s->special_session_size = 0;
@ -2738,7 +2738,7 @@ static void eventcb_bev(struct bufferevent *bev, short events, void *arg)
s->tobeclosed = 1;
if(s->special_session) {
turn_free(s->special_session,s->special_session_size);
free(s->special_session);
s->special_session = NULL;
}
s->special_session_size = 0;

@ -631,14 +631,14 @@ static void print_sessions(struct cli_session* cs, const char* pn, int exact_mat
}
if(arg.user_counters)
turn_free(arg.user_counters,sizeof(size_t)*arg.users_number);
free(arg.user_counters);
if(arg.user_names) {
size_t i;
for(i=0;i<arg.users_number;++i) {
if(arg.user_names[i])
turn_free(arg.user_names[i],strlen(arg.user_names[i])+1);
free(arg.user_names[i]);
}
turn_free(arg.user_names,sizeof(char*) * arg.users_number);
free(arg.user_names);
}
if(arg.users)
ur_string_map_free(&arg.users);
@ -888,7 +888,7 @@ static void close_cli_session(struct cli_session* cs)
cs->fd = -1;
}
turn_free(cs,sizeof(struct cli_session));
free(cs);
}
}
@ -1072,7 +1072,7 @@ static int run_cli_input(struct cli_session* cs, const char *buf0, unsigned int
type_cli_cursor(cs);
}
turn_free(buf,len+1);
free(buf);
}
return ret;
@ -1437,7 +1437,7 @@ void admin_server_receive_message(struct bufferevent *bev, void *ptr)
if (ur_map_get(adminserver.sessions, (ur_map_key_type)tsi->id, &t) && t) {
struct turn_session_info *old = (struct turn_session_info*)t;
turn_session_info_clean(old);
turn_free(old,sizeof(struct turn_session_info));
free(old);
ur_map_del(adminserver.sessions, (ur_map_key_type)tsi->id, NULL);
}
@ -1452,7 +1452,7 @@ void admin_server_receive_message(struct bufferevent *bev, void *ptr)
if(tsi) {
turn_session_info_clean(tsi);
turn_free(tsi,sizeof(struct turn_session_info));
free(tsi);
}
}

@ -174,7 +174,7 @@ int get_realm_options_by_origin(char *origin, realm_options_t* ro)
realm_params_t rp;
get_realm_data(realm, &rp);
ns_bcopy(&(rp.options),ro,sizeof(realm_options_t));
turn_free(realm,strlen(realm)+1);
free(realm);
return 1;
} else {
TURN_MUTEX_UNLOCK(&o_to_realm_mutex);
@ -262,10 +262,10 @@ void clean_secrets_list(secrets_list_t *sl)
size_t i = 0;
for(i = 0;i<sl->sz;++i) {
if(sl->secrets[i]) {
turn_free(sl->secrets[i], strlen(sl->secrets[i])+1);
free(sl->secrets[i]);
}
}
turn_free(sl->secrets,(sl->sz)*sizeof(char*));
free(sl->secrets);
sl->secrets = NULL;
sl->sz = 0;
}
@ -583,7 +583,7 @@ int get_user_key(int in_oauth, int *out_oauth, int *max_session_time, u08bits *u
if(pwd) {
if(pwd_length<1) {
turn_free(pwd,strlen(pwd)+1);
free(pwd);
} else {
if(stun_produce_integrity_key_str((u08bits*)usname, realm, (u08bits*)pwd, key, SHATYPE_DEFAULT)>=0) {
@ -597,7 +597,7 @@ int get_user_key(int in_oauth, int *out_oauth, int *max_session_time, u08bits *u
ret = 0;
}
}
turn_free(pwd,pwd_length);
free(pwd);
if(ret==0)
break;
@ -683,7 +683,7 @@ int check_new_allocation_quota(u08bits *user, int oauth, u08bits *realm)
} else {
++(rp->status.total_current_allocs);
}
turn_free(username,strlen((char*)username)+1);
free(username);
ur_string_map_unlock(rp->status.alloc_counters);
}
return ret;
@ -706,7 +706,7 @@ void release_allocation_quota(u08bits *user, int oauth, u08bits *realm)
if (rp->status.total_current_allocs)
--(rp->status.total_current_allocs);
ur_string_map_unlock(rp->status.alloc_counters);
turn_free(username, strlen((char*)username)+1);
free(username);
}
}
@ -726,7 +726,7 @@ int add_static_user_account(char *user)
usname[ulen]=0;
if(SASLprep((u08bits*)usname)<0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong user name: %s\n",user);
turn_free(usname,sizeof(char)*(ulen+1));
free(usname);
return -1;
}
s = skip_blanks(s+1);
@ -738,8 +738,8 @@ int add_static_user_account(char *user)
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong key format: %s\n",s);
} if(convert_string_key_to_binary(keysource, *key, sz)<0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong key: %s\n",s);
turn_free(usname,strlen(usname)+1);
turn_free(key,sizeof(hmackey_t));
free(usname);
free(key);
return -1;
}
} else {
@ -752,7 +752,7 @@ int add_static_user_account(char *user)
ur_string_map_unlock(turn_params.default_users_db.ram_db.static_accounts);
}
turn_params.default_users_db.ram_db.users_number++;
turn_free(usname,strlen(usname)+1);
free(usname);
return 0;
}
}
@ -1178,8 +1178,8 @@ void ip_list_free(ip_range_list_t *l)
{
if(l) {
if(l->rs)
turn_free(l->rs,l->ranges_number * sizeof(ip_range_t));
turn_free(l,sizeof(ip_range_list_t));
free(l->rs);
free(l);
}
}
@ -1221,14 +1221,14 @@ int add_ip_list_range(const char * range0, const char * realm, ip_range_list_t *
if (make_ioa_addr((const u08bits*) range, 0, &min) < 0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong address format: %s\n", range);
turn_free(range,0);
free(range);
return -1;
}
if (separator) {
if (make_ioa_addr((const u08bits*) separator + 1, 0, &max) < 0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong address format: %s\n", separator + 1);
turn_free(range,0);
free(range);
return -1;
}
} else {
@ -1246,7 +1246,7 @@ int add_ip_list_range(const char * range0, const char * realm, ip_range_list_t *
STRCPY(list->rs[list->ranges_number - 1].realm,realm);
else
list->rs[list->ranges_number - 1].realm[0]=0;
turn_free(range,0);
free(range);
ioa_addr_range_set(&(list->rs[list->ranges_number - 1].enc), &min, &max);
return 0;
@ -1266,14 +1266,14 @@ int check_ip_list_range(const char * range0)
if (make_ioa_addr((const u08bits*) range, 0, &min) < 0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong address range format: %s\n", range);
turn_free(range,0);
free(range);
return -1;
}
if (separator) {
if (make_ioa_addr((const u08bits*) separator + 1, 0, &max) < 0) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "Wrong address range format: %s\n", separator + 1);
turn_free(range,0);
free(range);
return -1;
}
} else {
@ -1284,7 +1284,7 @@ int check_ip_list_range(const char * range0)
if (separator)
*separator = '-';
turn_free(range,0);
free(range);
return 0;
}

@ -148,14 +148,14 @@ static void uc_delete_session_elem_data(app_ur_session* cdi) {
socket_closesocket(cdi->pinfo.tcp_conn[i]->tcp_data_fd);
cdi->pinfo.tcp_conn[i]->tcp_data_fd=-1;
}
turn_free(cdi->pinfo.tcp_conn[i], 111);
free(cdi->pinfo.tcp_conn[i]);
cdi->pinfo.tcp_conn[i]=NULL;
}
}
}
cdi->pinfo.tcp_conn_number=0;
if(cdi->pinfo.tcp_conn) {
turn_free(cdi->pinfo.tcp_conn, 111);
free(cdi->pinfo.tcp_conn);
cdi->pinfo.tcp_conn=NULL;
}
}
@ -1586,7 +1586,7 @@ void start_mclient(const char *remote_address, int port,
(unsigned long)min_jitter,
(unsigned long)max_jitter);
turn_free(elems,0);
free(elems);
}
///////////////////////////////////////////

@ -219,7 +219,7 @@ public:
*/
virtual ~StunAttr() {
if(_value)
turn_free(_value,_sz);
free(_value,_sz);
}
/**
@ -237,7 +237,7 @@ public:
if(sz>0xFFFF)
throw WrongStunAttrFormatException();
if(_value)
turn_free(_value,_sz);
free(_value,_sz);
_sz = sz;
_value=(u08bits*)malloc(_sz);
if(value)
@ -588,7 +588,7 @@ public:
*/
virtual ~StunMsg() {
if(_deallocate && _buffer) {
turn_free(_buffer, _allocated_sz);
free(_buffer, _allocated_sz);
}
}

@ -329,7 +329,7 @@ int make_ioa_addr_from_full_string(const u08bits* saddr, int default_port, ioa_a
port = default_port;
ret = make_ioa_addr((u08bits*)sa,port,addr);
}
turn_free(s,strlen(s)+1);
free(s);
return ret;
}

@ -241,7 +241,7 @@ int stun_produce_integrity_key_str(u08bits *uname, u08bits *realm, u08bits *upwd
MD5_Final(key,&ctx);
}
turn_free(str,sz+1);
free(str);
return 0;
}

@ -118,7 +118,6 @@ static inline u64bits _ioa_ntoh64(u64bits v)
#define TURN_LOG_FUNC(level, ...) printf (__VA_ARGS__)
void tm_print_func(void);
void turn_free_func(void *ptr, size_t sz, const char* function, int line);
void *turn_calloc_func(size_t number, size_t size, const char* function, int line);
char *turn_strdup_func(const char* s, const char* function, int line);
void* debug_ptr_add_func(void *ptr, const char* function, int line);
@ -127,7 +126,6 @@ static inline u64bits _ioa_ntoh64(u64bits v)
#define debug_ptr_add(ptr) debug_ptr_add_func((ptr),__FUNCTION__,__LINE__)
#define debug_ptr_del(ptr) debug_ptr_del_func((ptr),__FUNCTION__,__LINE__)
#define tm_print() tm_print_func()
#define turn_free(ptr,sz) turn_free_func((ptr),(size_t)(sz),__FUNCTION__,__LINE__)
#define turn_calloc(number, sz) turn_calloc_func((number),(size_t)(sz),__FUNCTION__,__LINE__)
#define turn_strdup(s) turn_strdup_func((s),__FUNCTION__,__LINE__)
@ -138,7 +136,6 @@ static inline u64bits _ioa_ntoh64(u64bits v)
#define debug_ptr_add(ptr)
#define debug_ptr_del(ptr)
#define tm_print()
#define turn_free(ptr,sz) free((ptr))
#define turn_calloc(number, sz) calloc((number),(size_t)(sz))
#define turn_strdup(s) strdup((s))

@ -64,7 +64,7 @@ void clear_allocation(allocation *a)
a->tcs.elems[i] = NULL;
}
}
turn_free(a->tcs.elems,sz*sizeof(tcp_connection*));
free(a->tcs.elems);
a->tcs.elems = NULL;
}
a->tcs.sz = 0;
@ -222,10 +222,10 @@ static void free_turn_permission_hashtable(turn_permission_hashtable *map)
if(slot->info.allocated) {
turn_permission_clean(&(slot->info));
}
turn_free(slot,sizeof(turn_permission_slot));
free(slot);
}
}
turn_free(parray->extra_slots, parray->extra_sz * sizeof(turn_permission_slot*));
free(parray->extra_slots);
parray->extra_slots = NULL;
}
parray->extra_sz = 0;
@ -521,11 +521,11 @@ void ch_map_clean(ch_map* map)
if(chi->allocated) {
ch_info_clean(chi);
}
turn_free(chi,sizeof(ch_info));
free(chi);
a->extra_chns[i] = NULL;
}
}
turn_free(a->extra_chns, sizeof(ch_info*)*sz);
free(a->extra_chns);
a->extra_chns = NULL;
}
a->extra_sz = 0;
@ -638,7 +638,7 @@ void delete_tcp_connection(tcp_connection *tc)
}
IOA_CLOSE_SOCKET(tc->client_s);
IOA_CLOSE_SOCKET(tc->peer_s);
turn_free(tc,sizeof(tcp_connection));
free(tc);
}
}
@ -711,7 +711,7 @@ void clear_unsent_buffer(unsent_buffer *ub)
ub->bufs[sz] = NULL;
}
}
turn_free(ub->bufs,sizeof(ioa_network_buffer_handle) * ub->sz);
free(ub->bufs);
ub->bufs = NULL;
}
ub->sz = 0;

@ -130,9 +130,9 @@ static const double __ac_HASH_UPPER = 0.77;
static inline void kh_destroy_##name(kh_##name##_t *h) \
{ \
if (h) { \
turn_free(h->keys,h->keys_size); turn_free(h->flags,h->flags_size); \
turn_free(h->vals, h->vals_size); \
turn_free(h, sizeof(kh_##name##_t)); \
free(h->keys); free(h->flags); \
free(h->vals); \
free(h); \
} \
} \
static inline void kh_clear_##name(kh_##name##_t *h) \
@ -217,7 +217,7 @@ static const double __ac_HASH_UPPER = 0.77;
h->vals_size = new_n_buckets * sizeof(khval_t); \
} \
} \
turn_free(h->flags, h->flags_size); \
free(h->flags); \
h->flags = new_flags; \
h->flags_size = new_flags_size; \
h->n_buckets = new_n_buckets; \

@ -61,7 +61,7 @@ static int ur_map_init(ur_map* map) {
ur_map* ur_map_create() {
ur_map *map=(ur_map*)malloc(sizeof(ur_map));
if(ur_map_init(map)<0) {
turn_free(map,sizeof(ur_map));
free(map);
return NULL;
}
return map;
@ -173,7 +173,7 @@ void ur_map_free(ur_map** map) {
(*map)->h=NULL;
(*map)->magic=0;
TURN_MUTEX_DESTROY(&((*map)->mutex));
turn_free(*map,sizeof(ur_map));
free(*map);
*map=NULL;
}
}
@ -444,10 +444,10 @@ void lm_map_clean(lm_map* map)
ur_map_key_type *keyp = a->extra_keys[i];
if(keyp) {
*keyp = 0;
turn_free(keyp,sizeof(ur_map_key_type));
free(keyp);
}
}
turn_free(a->extra_keys,esz * sizeof(ur_map_key_type));
free(a->extra_keys);
a->extra_keys = NULL;
}
if(a->extra_values) {
@ -455,10 +455,10 @@ void lm_map_clean(lm_map* map)
ur_map_value_type *valuep = a->extra_values[i];
if(valuep) {
*valuep = 0;
turn_free(valuep,sizeof(ur_map_value_type));
free(valuep);
}
}
turn_free(a->extra_values,esz * sizeof(ur_map_value_type));
free(a->extra_values);
a->extra_values = NULL;
}
}
@ -588,7 +588,7 @@ int lm_map_foreach_arg(lm_map* map, foreachcb_arg_type func, void* arg)
static void addr_list_free(addr_list_header* slh) {
if(slh) {
if(slh->extra_list) {
turn_free(slh->extra_list,sizeof(addr_elem)*(slh->extra_sz));
free(slh->extra_list);
}
ns_bzero(slh,sizeof(addr_list_header));
}
@ -967,10 +967,10 @@ static void string_list_free(string_list_header* slh, ur_string_map_func del_val
while(list) {
string_elem *elem=(string_elem*)list;
string_list* tail=elem->list.next;
if(elem->key) turn_free(elem->key,elem->key_size);
if(elem->key) free(elem->key);
if(del_value_func && elem->value)
del_value_func(elem->value);
turn_free(elem,sizeof(string_elem));
free(elem);
list=tail;
}
slh->list=NULL;
@ -994,10 +994,10 @@ static string_list* string_list_remove(string_list* sl, const ur_string_map_key_
string_elem *elem=(string_elem*)sl;
string_list* tail=elem->list.next;
if(strcmp(elem->key,key)==0) {
turn_free(elem->key,elem->key_size);
free(elem->key);
if(del_value_func)
del_value_func(elem->value);
turn_free(elem,sizeof(string_elem));
free(elem);
if(counter) *counter+=1;
sl=string_list_remove(tail, key, del_value_func, counter);
} else {
@ -1069,7 +1069,7 @@ static int ur_string_map_valid(const ur_string_map *map) {
ur_string_map* ur_string_map_create(ur_string_map_func del_value_func) {
ur_string_map *map=(ur_string_map*)malloc(sizeof(ur_string_map));
if(ur_string_map_init(map)<0) {
turn_free(map,sizeof(ur_string_map));
free(map);
return NULL;
}
map->del_value_func = del_value_func;
@ -1166,7 +1166,7 @@ void ur_string_map_free(ur_string_map** map) {
}
(*map)->magic=0;
TURN_MUTEX_DESTROY(&((*map)->mutex));
turn_free(*map,sizeof(ur_string_map));
free(*map);
*map=NULL;
}
}

@ -90,7 +90,7 @@ static void rtcp_alloc_free(ur_map_value_type value)
rtcp_alloc_type *at = (rtcp_alloc_type *)value;
if (at) {
IOA_CLOSE_SOCKET(at->s);
turn_free(at,sizeof(rtcp_alloc_type));
free(at);
}
}
@ -98,7 +98,7 @@ static void rtcp_alloc_free_savefd(ur_map_value_type value)
{
rtcp_alloc_type *at = (rtcp_alloc_type *) value;
if (at) {
turn_free(at,sizeof(rtcp_alloc_type));
free(at);
}
}
@ -180,7 +180,7 @@ rtcp_map* rtcp_map_create(ioa_engine_handle e) {
rtcp_map *map=(rtcp_map*)malloc(sizeof(rtcp_map));
ns_bzero(map,sizeof(rtcp_map));
if(rtcp_map_init(map,e)<0) {
turn_free(map,sizeof(rtcp_map));
free(map);
return NULL;
}
return map;
@ -204,7 +204,7 @@ int rtcp_map_put(rtcp_map* map, rtcp_token_type token, ioa_socket_handle s) {
int ret = ur_map_put(map->map,token,(ur_map_value_type)value);
//TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: 111.111: ret=%d, token=%llu\n",__FUNCTION__,ret,token);
TURN_MUTEX_UNLOCK(&map->mutex);
if(ret<0) turn_free(value,sizeof(rtcp_alloc_type));
if(ret<0) free(value);
return ret;
}
}
@ -241,7 +241,7 @@ void rtcp_map_free(rtcp_map** map) {
(*map)->magic=0;
TURN_MUTEX_UNLOCK(&((*map)->mutex));
TURN_MUTEX_DESTROY(&((*map)->mutex));
turn_free(*map,sizeof(rtcp_map));
free(*map);
*map=NULL;
}
}

@ -372,7 +372,7 @@ void turn_session_info_init(struct turn_session_info* tsi) {
void turn_session_info_clean(struct turn_session_info* tsi) {
if(tsi) {
if(tsi->extra_peers_data) {
turn_free(tsi->extra_peers_data, sizeof(addr_data)*(tsi->extra_peers_size));
free(tsi->extra_peers_data);
}
turn_session_info_init(tsi);
}
@ -615,13 +615,13 @@ static int mobile_id_to_string(mobile_id_t mid, char *dst, size_t dst_sz)
return -1;
if(!output_length || (output_length+1 > dst_sz)) {
turn_free(s, output_length);
free(s);
return -1;
}
ns_bcopy(s, dst, output_length);
turn_free(s, output_length);
free(s);
dst[output_length] = 0;
@ -644,7 +644,7 @@ static mobile_id_t string_to_mobile_id(char* src)
mid = *((mobile_id_t*)out);
}
turn_free(out, output_length);
free(out);
}
}
@ -786,7 +786,7 @@ static void delete_ur_map_ss(void *p) {
IOA_CLOSE_SOCKET(ss->client_socket);
clear_allocation(get_allocation_ss(ss));
IOA_EVENT_DEL(ss->to_be_allocated_timeout_ev);
turn_free(p,sizeof(ts_ur_super_session));
free(p);
}
}
@ -3624,8 +3624,8 @@ static int handle_turn_command(turn_turnserver *server, ts_ur_super_session *ss,
if(!strncmp(ss->origin,corigin,STUN_MAX_ORIGIN_SIZE)) {
origin_found = 1;
}
turn_free(corigin,sarlen+1);
turn_free(o,sarlen+1);
free(corigin);
free(o);
}
}
sar = stun_attr_get_next_str(ioa_network_buffer_data(in_buffer->nbh),
@ -3678,8 +3678,8 @@ static int handle_turn_command(turn_turnserver *server, ts_ur_super_session *ss,
__FUNCTION__, o);
}
strncpy(ss->origin,corigin,STUN_MAX_ORIGIN_SIZE);
turn_free(corigin,sarlen+1);
turn_free(o,sarlen+1);
free(corigin);
free(o);
origin_found = get_realm_options_by_origin(ss->origin,&(ss->realm_options));
}
}

Loading…
Cancel
Save