[commit] r11482 - in freeswitch/trunk/src: . mod/formats/mod_shout
Author: anthm Date: Sat Jan 24 12:11:42 2009 New Revision: 11482 Log: add error checking Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c freeswitch/trunk/src/switch_core_file.c Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c (original) +++ freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c Sat Jan 24 12:11:42 2009 @@ -876,6 +876,10 @@ *len = 0; + if (!context || context->err) { + return SWITCH_STATUS_FALSE; + } + if (context->fd) { rb = decode_fd(context, data, bytes); } else { @@ -923,7 +927,16 @@ return SWITCH_STATUS_FALSE; } + if (context->err) { + return SWITCH_STATUS_FALSE; + } + if (context->shout && !context->shout_init) { + + if (!context->gfp) { + return SWITCH_STATUS_FALSE; + } + context->shout_init++; if (shout_open(context->shout) != SHOUTERR_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening stream: %s\n", shout_get_error(context->shout)); Modified: freeswitch/trunk/src/switch_core_file.c ============================================================================== --- freeswitch/trunk/src/switch_core_file.c (original) +++ freeswitch/trunk/src/switch_core_file.c Sat Jan 24 12:11:42 2009 @@ -45,6 +45,11 @@ char stream_name[128] = ""; char *rhs = NULL; + if (switch_test_flag(fh, SWITCH_FILE_OPEN)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Handle already open\n"); + return SWITCH_STATUS_FALSE; + } + if (switch_strlen_zero(file_path)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Filename\n"); return SWITCH_STATUS_FALSE; @@ -140,6 +145,10 @@ switch_assert(fh != NULL); switch_assert(fh->file_interface != NULL); + if (!switch_test_flag(fh, SWITCH_FILE_OPEN)) { + return SWITCH_STATUS_FALSE; + } + top: if (fh->buffer && switch_buffer_inuse(fh->buffer) >= *len * 2) { @@ -253,6 +262,10 @@ switch_assert(fh != NULL); switch_assert(fh->file_interface != NULL); + if (!switch_test_flag(fh, SWITCH_FILE_OPEN)) { + return SWITCH_STATUS_FALSE; + } + if (!fh->file_interface->file_write) { return SWITCH_STATUS_FALSE; }
participants (1)
-
FreeSWITCH SVN