[commit] r4198 - freeswitch/trunk/src/mod/languages/mod_spidermonkey
Author: anthm Date: Sat Feb 10 19:39:46 2007 New Revision: 4198 Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Log: minor update Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Sat Feb 10 19:39:46 2007 @@ -1282,9 +1282,8 @@ { struct js_session *jss = JS_GetPrivate(cx, obj); char *terminators = NULL; - char buf[128] = ""; - int digits; - int32 timeout = 5000; + char buf[513] = {0}; + int32 digits = 0, timeout = 5000; switch_channel_t *channel; channel = switch_core_session_get_channel(jss->session); @@ -1299,7 +1298,13 @@ if (argc > 0) { char term; - digits = atoi(JS_GetStringBytes(JS_ValueToString(cx, argv[0]))); + JS_ValueToInt32(cx, argv[0], &digits); + + if (digits > sizeof(buf) - 1) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Exceeded max digits of %d\n", sizeof(buf) - 1); + return JS_FALSE; + } + if (argc > 1) { terminators = JS_GetStringBytes(JS_ValueToString(cx, argv[1])); }
participants (1)
-
Freeswitch SVN