From: Moises Silva Date: Tue, 31 Aug 2010 18:42:41 +0000 (-0400) Subject: freetdm: fix asserts X-Git-Tag: v1.2-rc1~382^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6216d5df07876843127bb0f3e08ae30282fcac74;p=thirdparty%2Ffreeswitch.git freetdm: fix asserts --- diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c index 56fe77d131..238a9fc060 100644 --- a/libs/freetdm/src/ftdm_io.c +++ b/libs/freetdm/src/ftdm_io.c @@ -2122,7 +2122,8 @@ FT_DECLARE(ftdm_status_t) _ftdm_channel_call_place(const char *file, const char { ftdm_status_t status = FTDM_FAIL; - ftdm_assert(ftdmchan != NULL, "null channel"); + ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "null channel"); + ftdm_assert_return(ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND), FTDM_FAIL, "Call place, but outbound flag not set\n"); ftdm_channel_lock(ftdmchan); @@ -2268,14 +2269,12 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_close(ftdm_channel_t **ftdmchan) ftdm_channel_t *check; ftdm_status_t status = FTDM_FAIL; - assert(ftdmchan != NULL); + ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "null channel double pointer provided!\n"); + ftdm_assert_return(*ftdmchan != NULL, FTDM_FAIL, "null channel pointer provided!\n"); + check = *ftdmchan; *ftdmchan = NULL; - if (!check) { - return FTDM_FAIL; - } - if (ftdm_test_flag(check, FTDM_CHANNEL_CONFIGURED)) { ftdm_mutex_lock(check->mutex); if (ftdm_test_flag(check, FTDM_CHANNEL_OPEN)) {