]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: fix asserts
authorMoises Silva <moy@sangoma.com>
Tue, 31 Aug 2010 18:42:41 +0000 (14:42 -0400)
committerMoises Silva <moy@sangoma.com>
Tue, 31 Aug 2010 18:42:41 +0000 (14:42 -0400)
libs/freetdm/src/ftdm_io.c

index 56fe77d131064907c591bcb826ef027c9cac40f5..238a9fc0609a6a8aef2689cdc1b389a706654145 100644 (file)
@@ -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)) {