]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
func_frame_drop: Fix typo referencing wrong buffer
authorNaveen Albert <asterisk@phreaknet.org>
Tue, 11 Jan 2022 18:33:34 +0000 (18:33 +0000)
committerJoshua Colp <jcolp@sangoma.com>
Mon, 31 Jan 2022 14:54:44 +0000 (08:54 -0600)
In order to get around the issue of certain frames
having names that could overlap, func_frame_drop
surrounds names with commas for the purposes of
comparison.

The buffer is allocated and printed to properly,
but the original buffer is used for comparison.
In most cases, this wouldn't have had any effect,
but that was not the intention behind the buffer.
This updates the code to reference the modified
buffer instead.

ASTERISK-29854 #close

Change-Id: I430b52e14e712d0e62a23aa3b5644fe958b684a7

funcs/func_frame_drop.c

index 5aa66dffb57b8c0a98246a2fc4ecb67242d81f21..c19c56680c6df9dc2dcbefff3cfa507e52d08ea1 100644 (file)
@@ -227,13 +227,13 @@ static int frame_drop_helper(struct ast_channel *chan, const char *cmd, char *da
        buffer = ast_malloc(sizeof(value) + 3); /* leading and trailing comma and null terminator */
        snprintf(buffer, sizeof(value) + 2, ",%s,", value);
        for (i = 0; i < ARRAY_LEN(frametype2str); i++) {
-               if (strcasestr(value, frametype2str[i].str)) {
+               if (strcasestr(buffer, frametype2str[i].str)) {
                        framedata->values[i] = 1;
                }
        }
 
        for (i = 0; i < ARRAY_LEN(controlframetype2str); i++) {
-               if (strcasestr(value, controlframetype2str[i].str)) {
+               if (strcasestr(buffer, controlframetype2str[i].str)) {
                        framedata->controlvalues[i] = 1;
                }
        }