summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2017-09-01 10:51:06 -0400
committerSean Bright <sean.bright@gmail.com>2017-09-01 10:28:07 -0500
commit2872cdfce6c1047fb28d620cf064aac969c2390b (patch)
tree5557ab2d948aee204b077e105efeeb4caaea189f /apps
parent53458b30eac2e5d676e1fd063224137ee7cd33c4 (diff)
app_directory: Handle a NULL mailbox without crashing
ASTERISK-27241 #close Reported by: David Moore Change-Id: Ibbbca85517b04c315406ebfe3b6f7e0763daedc6
Diffstat (limited to 'apps')
-rw-r--r--apps/app_directory.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/app_directory.c b/apps/app_directory.c
index dd80c3467..6866aa387 100644
--- a/apps/app_directory.c
+++ b/apps/app_directory.c
@@ -509,6 +509,11 @@ static struct ast_config *realtime_directory(char *context)
const char *mailbox = ast_variable_retrieve(rtdata, category, "mailbox");
const char *ctx = ast_variable_retrieve(rtdata, category, "context");
+ if (ast_strlen_zero(mailbox)) {
+ ast_debug(3, "Skipping result with missing or empty mailbox\n");
+ continue;
+ }
+
fullname = ast_variable_retrieve(rtdata, category, "fullname");
hidefromdir = ast_variable_retrieve(rtdata, category, "hidefromdir");
if (ast_true(hidefromdir)) {
@@ -529,7 +534,7 @@ static struct ast_config *realtime_directory(char *context)
/* Does the context exist within the config file? If not, make one */
if (!(cat = ast_category_get(cfg, ctx, NULL))) {
- if (!(cat = ast_category_new(ctx, "", 99999))) {
+ if (!(cat = ast_category_new_dynamic(ctx))) {
ast_log(LOG_WARNING, "Out of memory\n");
ast_config_destroy(cfg);
if (rtdata) {