From 3dff1dc28bbb4f73f160f1c2d8a264227f76f9f8 Mon Sep 17 00:00:00 2001 From: vemax78 Date: Sun, 16 Mar 2014 22:10:28 +0100 Subject: [PATCH] Remove assertion and permit to call timeout functions with unset index timeout --- src/common/capwap_timeout.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/common/capwap_timeout.c b/src/common/capwap_timeout.c index 32cf82f..4062167 100644 --- a/src/common/capwap_timeout.c +++ b/src/common/capwap_timeout.c @@ -129,15 +129,16 @@ unsigned long capwap_timeout_createtimer(struct capwap_timeout* timeout) { /* */ void capwap_timeout_deletetimer(struct capwap_timeout* timeout, unsigned long index) { ASSERT(timeout != NULL); - ASSERT(index != CAPWAP_TIMEOUT_INDEX_NO_SET); - capwap_logging_debug("Delete timer: %lu", index); + if (index != CAPWAP_TIMEOUT_INDEX_NO_SET) { + capwap_logging_debug("Delete timer: %lu", index); - /* Unset timeout timer */ - capwap_timeout_unset(timeout, index); + /* Unset timeout timer */ + capwap_timeout_unset(timeout, index); - /* Release timer index */ - capwap_timeout_clear_bitfield(timeout, index); + /* Release timer index */ + capwap_timeout_clear_bitfield(timeout, index); + } } /* */ @@ -204,14 +205,14 @@ void capwap_timeout_unset(struct capwap_timeout* timeout, unsigned long index) { struct capwap_list_item* itemlist; ASSERT(timeout != NULL); - ASSERT(index != CAPWAP_TIMEOUT_INDEX_NO_SET); - /* */ - itemlist = (struct capwap_list_item*)capwap_hash_search(timeout->itemsreference, &index); - if (itemlist) { - capwap_logging_debug("Unset timeout: %lu", index); - capwap_hash_delete(timeout->itemsreference, &index); - capwap_itemlist_free(capwap_itemlist_remove(timeout->itemstimeout, itemlist)); + if (index != CAPWAP_TIMEOUT_INDEX_NO_SET) { + itemlist = (struct capwap_list_item*)capwap_hash_search(timeout->itemsreference, &index); + if (itemlist) { + capwap_logging_debug("Unset timeout: %lu", index); + capwap_hash_delete(timeout->itemsreference, &index); + capwap_itemlist_free(capwap_itemlist_remove(timeout->itemstimeout, itemlist)); + } } }