diff --git a/main/say.c b/main/say.c index ebbb9f0f1ab9a6e613c2e78d0378f7cbfebb3b95..df9462aa16448a0c3e80fd1e531a81f850420315 100644 --- a/main/say.c +++ b/main/say.c @@ -180,6 +180,13 @@ static int say_filenames(struct ast_channel *chan, const char *ints, const char if (!filenames) { return -1; } + + /* No filenames to play? Return success so we don't hang up erroneously */ + if (ast_str_strlen(filenames) == 0) { + ast_free(filenames); + return 0; + } + files = ast_str_buffer(filenames); while ((fn = strsep(&files, "&"))) {