From 76be99c8011233c03e7573e97a7381363230cc02 Mon Sep 17 00:00:00 2001 From: Mathieu Parent <math.parent@gmail.com> Date: Wed, 3 Mar 2010 07:48:42 +0000 Subject: [PATCH] Skinny: avoid stack overflow by lowering button_template_helper size git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16875 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_skinny/skinny_protocol.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.c b/src/mod/endpoints/mod_skinny/skinny_protocol.c index 9ce4ad6ec7..10b7622d64 100644 --- a/src/mod/endpoints/mod_skinny/skinny_protocol.c +++ b/src/mod/endpoints/mod_skinny/skinny_protocol.c @@ -1445,7 +1445,7 @@ switch_status_t skinny_handle_port_message(listener_t *listener, skinny_message_ struct button_template_helper { skinny_message_t *message; - int count[0xffff+1]; + int count[SKINNY_BUTTON_UNDEFINED+1]; }; int skinny_handle_button_template_request_callback(void *pArg, int argc, char **argv, char **columnNames) @@ -1457,6 +1457,9 @@ int skinny_handle_button_template_request_callback(void *pArg, int argc, char ** uint32_t type = atoi(argv[2]); int i; + if(type > SKINNY_BUTTON_UNDEFINED) { + type = SKINNY_BUTTON_UNDEFINED; + } /* fill buttons between previous one and current one */ for(i = message->data.button_template.button_count; i+1 < position; i++) { message->data.button_template.btn[i].instance_number = ++helper->count[SKINNY_BUTTON_UNDEFINED];