]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
resource_channels.c: Don't call ast_channel_get_by_name on empty optional arguments
authorSven Kube <mail@sven-kube.de>
Wed, 30 Jul 2025 10:26:13 +0000 (12:26 +0200)
committergithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Wed, 30 Jul 2025 15:36:06 +0000 (15:36 +0000)
`ast_ari_channels_create` and `ast_ari_channels_dial` called the
`ast_channel_get_by_name` function with optional arguments. Since
8f1982c4d6, this function logs an error for empty channel names.
This commit adds checks for empty optional arguments that are used
to call `ast_channel_get_by_name` to prevent these error logs.

res/ari/resource_channels.c

index 1aa83165ca6dac6bdda4674caac1b80fbde1c2d2..dcedae1880b824e1341247cfed1372035a53d6b8 100644 (file)
@@ -1790,7 +1790,7 @@ void ast_ari_channels_create(struct ast_variable *headers,
        char *stuff;
        int cause;
        struct ast_format_cap *request_cap;
-       struct ast_channel *originator;
+       struct ast_channel *originator = NULL;
 
        /* Parse any query parameters out of the body parameter */
        if (args->variables) {
@@ -1850,7 +1850,10 @@ void ast_ari_channels_create(struct ast_variable *headers,
                return;
        }
 
-       originator = ast_channel_get_by_name(args->originator);
+       if (!ast_strlen_zero(args->originator)) {
+               originator = ast_channel_get_by_name(args->originator);
+       }
+
        if (originator) {
                request_cap = ao2_bump(ast_channel_nativeformats(originator));
                if (!ast_strlen_zero(args->app)) {
@@ -1952,7 +1955,9 @@ void ast_ari_channels_dial(struct ast_variable *headers,
                return;
        }
 
-       caller = ast_channel_get_by_name(args->caller);
+       if (!ast_strlen_zero(args->caller)) {
+               caller = ast_channel_get_by_name(args->caller);
+       }
 
        callee = ast_channel_get_by_name(args->channel_id);
        if (!callee) {