+ }
+ 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;
+ }
+
+ // init hashtable entry_list
+ rtpengine_hash_table->entry_list = shm_malloc(hash_table_size * sizeof(struct
rtpengine_hash_entry));
+
+ // init hashtable entry_list[i] (head never filled)
+ for (i = 0; i < hash_table_size; i++) {
+ rtpengine_hash_table->entry_list[i] = shm_malloc(sizeof(struct
rtpengine_hash_entry));
I don't think shm_malloc() automatically zeroes the memory, and the lookup routines
seem to do a strcmp on the head entries call-ID too, so the call-ID needs to be
initialized as well.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/390/files#r44554482