]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix checks in new logger function.
authorMichael Jerris <mike@jerris.com>
Mon, 9 Oct 2006 20:04:38 +0000 (20:04 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 9 Oct 2006 20:04:38 +0000 (20:04 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3013 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/mod_sofia.c

index 59bb8ad0fee22451d2ac351ffd297dfb6e6b7d5d..a15ba96cc8921ab41cde552f0ca9edc7f31272ba 100644 (file)
@@ -1686,25 +1686,27 @@ static const switch_loadable_module_interface_t sofia_module_interface = {
 
 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);
 }