From f6b4f4d017ebb34a75cc675dcb4eccad82685437 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 12 Jun 2001 01:25:55 +0000 Subject: [PATCH] Eliminated possible bounds problem with vsprintf in fs_printf(). --- src/sbbs3/main.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index d5416363e8..a238975b1b 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -110,7 +110,7 @@ js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) static JSBool js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char tmp[1024]; + char* p; uintN i; JSString * fmt; JSString * str; @@ -136,8 +136,11 @@ js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) arglist[i-1]=NULL; } - vsprintf(tmp,JS_GetStringBytes(fmt),(char*)arglist); - sbbs->bputs(tmp); + if((p=JS_vsmprintf(JS_GetStringBytes(fmt),(char*)arglist))==NULL) + return JS_FALSE; + + sbbs->bputs(p); + JS_smprintf_free(p); return JS_TRUE; } -- GitLab