From: Brian West Date: Fri, 29 Aug 2014 14:55:00 +0000 (-0500) Subject: FS-6775 #resolve X-Git-Tag: v1.4.8~3^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e24b3e2c2b28cc672943e75b009377d33f1b01b;p=thirdparty%2Ffreeswitch.git FS-6775 #resolve --- diff --git a/src/mod/applications/mod_hash/mod_hash.c b/src/mod/applications/mod_hash/mod_hash.c index b24cab6bc7..a90a3fe4d8 100644 --- a/src/mod/applications/mod_hash/mod_hash.c +++ b/src/mod/applications/mod_hash/mod_hash.c @@ -279,7 +279,7 @@ SWITCH_LIMIT_RELEASE(limit_release_hash) switch_channel_t *channel = switch_core_session_get_channel(session); limit_hash_private_t *pvt = switch_channel_get_private(channel, "limit_hash"); limit_hash_item_t *item = NULL; - switch_hash_index_t *hi; + switch_hash_index_t *hi = NULL; char *hashkey = NULL; if (!pvt || !pvt->hash) { @@ -291,7 +291,7 @@ SWITCH_LIMIT_RELEASE(limit_release_hash) /* clear for uuid */ if (realm == NULL && resource == NULL) { /* Loop through the channel's hashtable which contains mapping to all the limit_hash_item_t referenced by that channel */ - while ((hi = switch_core_hash_first(pvt->hash))) { + while ((hi = switch_core_hash_first_iter(pvt->hash, hi))) { void *val = NULL; const void *key; switch_ssize_t keylen; @@ -311,6 +311,7 @@ SWITCH_LIMIT_RELEASE(limit_release_hash) switch_core_hash_delete(pvt->hash, (const char *) key); } + switch_core_hash_destroy(&pvt->hash); } else { hashkey = switch_core_session_sprintf(session, "%s_%s", realm, resource);