- LM_DBG("rtpengine_hash_table size = %d\n", hash_table_size);
- // init hashtable
- rtpengine_hash_table = shm_malloc(sizeof(struct rtpengine_hash_table));
- if (!rtpengine_hash_table) {
LM_ERR("no shm left to create rtpengine_hash_table\n");
return 0;
- }
- memset(rtpengine_hash_table, 0, sizeof(struct rtpengine_hash_table));
- rtpengine_hash_table->size = hash_table_size;
- // init hashtable row_entry_list
- rtpengine_hash_table->row_entry_list = shm_malloc(rtpengine_hash_table->size * sizeof(struct rtpengine_hash_entry*));
- if (!rtpengine_hash_table->row_entry_list) {
LM_ERR("no shm left to create rtpengine_hash_table->row_entry_list\n");
rtpengine_hash_table_destroy();
Right. The _destroy() should do sanity checking, with memory free, when possible. Will correct this.
--- Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/pull/390/files#r47196329