diff options
author | Joshua Colp <jcolp@digium.com> | 2017-09-05 08:41:19 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-09-05 08:41:19 -0500 |
commit | f556c31aea25e189b1f6dfae0a541e3575a8a9f5 (patch) | |
tree | dadc5c31819fec26e7397d0cd04de3575fccd87d | |
parent | f40b2901fcf452346ea08ad12bbbeda932d4fe8c (diff) | |
parent | 1bdbefbe76593d6c182139391c8f102366d0c703 (diff) |
Merge "app_directory: Handle a NULL mailbox without crashing"
-rw-r--r-- | apps/app_directory.c | 7 |
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) { |