From 96c2a7932dcf78df719855394ed8626e776a2ab2 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Wed, 12 Jan 2022 14:20:34 -0500 Subject: [PATCH] say.c: Prevent erroneous failures with 'say' family of functions. A regression was introduced in ASTERISK~29531 that caused 'say' functions to fail with file lists that would previously have succeeded. This caused affected channels to hang up where previously they would have continued. We now explicitly check for the empty string to restore the previous behavior. ASTERISK-29859 #close Change-Id: Ia2e5769868e2792313c2d7c07996efe009c6f8d5 --- main/say.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/main/say.c b/main/say.c index 54aefe0df1..56e6b8d456 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, "&"))) { -- 2.47.2