From f6b5b7208c7b85ffdf414ca3500510ed0767865e Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Mon, 4 Mar 2019 17:05:30 -0500 Subject: [PATCH] app_queue: Handle empty 'interface' in queue member config While the 'interface' column is a NOT NULL, the empty string is still allowed. res_config_odbc treats the empty string as a NULL and we crash when trying to dereference. Also cleaned up an adjacent error message for consistency. ASTERISK-28168 #close Change-Id: I55e012b540fbcda99bb40bede3099b7ae5db8202 --- apps/app_queue.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index 8b34d73984..10dd06a90d 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3410,7 +3410,14 @@ static void rt_handle_member_record(struct call_queue *q, char *category, struct const char *wrapuptime_str = ast_variable_retrieve(member_config, category, "wrapuptime"); if (ast_strlen_zero(rt_uniqueid)) { - ast_log(LOG_WARNING, "Realtime field uniqueid is empty for member %s\n", S_OR(membername, "NULL")); + ast_log(LOG_WARNING, "Realtime field 'uniqueid' is empty for member %s\n", + S_OR(membername, "NULL")); + return; + } + + if (ast_strlen_zero(interface)) { + ast_log(LOG_WARNING, "Realtime field 'interface' is empty for member %s\n", + S_OR(membername, "NULL")); return; }