Author: mikej Date: Mon Oct 9 16:04:38 2006 New Revision: 3013 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Log: fix checks in new logger function. Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Mon Oct 9 16:04:38 2006 @@ -1686,25 +1686,27 @@ static void logger(void *logarg, char const *fmt, va_list ap) { - char *data; - int ret; + char *data = NULL; if (fmt) { #ifdef HAVE_VASPRINTF + int ret; ret = vasprintf(&data, fmt, ap); + if ((ret == -1) || !data) { + return; + } #else data = (char *) malloc(2048); - vsnprintf(data, 2048, fmt, ap); -#endif - if (ret == -1) { + if (data) { + vsnprintf(data, 2048, fmt, ap); + } else { return; } +#endif } - if (data) { - switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_DEBUG, (char*) "%s", data); - free(data); - } + switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_DEBUG, (char*) "%s", data); + free(data); }