From: Sean Bright Date: Wed, 12 Jan 2022 19:20:34 +0000 (-0500) Subject: say.c: Prevent erroneous failures with 'say' family of functions. X-Git-Tag: 19.2.0-rc1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=101a72d048118255b1a2f7f22a83b5d6e29b36af;p=thirdparty%2Fasterisk.git 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 --- diff --git a/main/say.c b/main/say.c index ebbb9f0f1a..df9462aa16 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, "&"))) {