[Pkg-voip-commits] [bctoolbox] 49/60: do not crash on null log handler

Bernhard Schmidt berni at moszumanska.debian.org
Sun Oct 15 22:42:28 UTC 2017


This is an automated email from the git hooks/post-receive script.

berni pushed a commit to branch debian/sid
in repository bctoolbox.

commit fdb7aaaa9acd6f54bda5dcd50f2af917755b530e
Author: Benjamin Reis <benjamin.reis at belledonne-communications.com>
Date:   Thu Jun 29 11:40:54 2017 +0200

    do not crash on null log handler
---
 src/logging/logging.c | 40 ++++++++++++++++++++++++----------------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/src/logging/logging.c b/src/logging/logging.c
index 06efef6..b610884 100644
--- a/src/logging/logging.c
+++ b/src/logging/logging.c
@@ -359,20 +359,24 @@ void _bctbx_logv_flush(int dummy, ...) {
 #ifdef _WIN32
 		while (loggers) {
 			bctbx_log_handler_t* handler = (bctbx_log_handler_t*)loggers->data;
-			va_list cap;
-			va_copy(cap, empty_va_list);
-			handler->func(handler->user_info, l->domain, l->level, l->msg, cap);
-			va_end(cap);
+			if(handler) {
+				va_list cap;
+				va_copy(cap, empty_va_list);
+				handler->func(handler->user_info, l->domain, l->level, l->msg, cap);
+				va_end(cap);
+			}
 			loggers = loggers->next;
 		}
 #else
 		
 		while (loggers) {
 			bctbx_log_handler_t* handler = (bctbx_log_handler_t*)loggers->data;
-			va_list cap;
-			va_copy(cap, empty_va_list);
-			handler->func(handler->user_info, l->domain, l->level, l->msg, cap);
-			va_end(cap);
+			if(handler) {
+				va_list cap;
+				va_copy(cap, empty_va_list);
+				handler->func(handler->user_info, l->domain, l->level, l->msg, cap);
+				va_end(cap);
+			}
 			loggers = loggers->next;
 		}
 		
@@ -395,10 +399,12 @@ void bctbx_logv(const char *domain, BctbxLogLevel level, const char *fmt, va_lis
 			bctbx_list_t *loggers = bctbx_list_first_elem(__bctbx_logger.logv_outs);
 			while (loggers) {
 				bctbx_log_handler_t* handler = (bctbx_log_handler_t*)loggers->data;
-				va_list tmp;
-				va_copy(tmp, args);
-				handler->func(handler->user_info, domain, level, fmt, tmp);
-				va_end(tmp);
+				if(handler) {
+					va_list tmp;
+					va_copy(tmp, args);
+					handler->func(handler->user_info, domain, level, fmt, tmp);
+					va_end(tmp);
+				}
 				loggers = loggers->next;
 			}
 		} else if (__bctbx_logger.log_thread_id == bctbx_thread_self()) {
@@ -407,10 +413,12 @@ void bctbx_logv(const char *domain, BctbxLogLevel level, const char *fmt, va_lis
 			loggers = bctbx_list_first_elem(__bctbx_logger.logv_outs);
 			while (loggers) {
 				bctbx_log_handler_t* handler = (bctbx_log_handler_t*)loggers->data;
-				va_list tmp;
-				va_copy(tmp, args);
-				handler->func(handler->user_info, domain, level, fmt, tmp);
-				va_end(tmp);
+				if(handler) {
+					va_list tmp;
+					va_copy(tmp, args);
+					handler->func(handler->user_info, domain, level, fmt, tmp);
+					va_end(tmp);
+				}
 				loggers = loggers->next;
 			}
 		} else {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/bctoolbox.git



More information about the Pkg-voip-commits mailing list