]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_voicemail_ivr] Fix array overflow 1420/head
authorChris Rienzo <chris@signalwire.com>
Mon, 1 Nov 2021 13:50:26 +0000 (13:50 +0000)
committerChris Rienzo <chris@signalwire.com>
Mon, 1 Nov 2021 13:50:26 +0000 (13:50 +0000)
src/mod/applications/mod_voicemail_ivr/menu.c

index 79aa16b56ed79dabb1dee52cd56a987f0d9e23c2..8a21353c93063f73a0815246cf5464f63e61754c 100644 (file)
@@ -730,13 +730,15 @@ char *vmivr_menu_get_input_set(switch_core_session_t *session, vmivr_profile_t *
 
        for (retry = menu->ivr_maximum_attempts; switch_channel_ready(channel) && retry > 0; retry--) {
                int i;
+               int dtmfa_array_length = 0;
 
                menu_instance_init(menu);
 
                switch_event_add_header(menu->phrase_params, SWITCH_STACK_BOTTOM, "IVR-Retry-Left", "%d", retry);
 
                /* Find the last entry and append this one to it */
-               for (i=0; i < 16 && menu->dtmfa[i]; i++){
+               dtmfa_array_length = sizeof(menu->dtmfa) / sizeof(menu->dtmfa[0]);
+               for (i = 0; i < (dtmfa_array_length - 1) && menu->dtmfa[i]; i++){
                }
                menu->dtmfa[i] = (char *) input_mask;