diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index c252ca4073d8eb1685c733e9cc3cc67a4e3e1b7a..dea8b5c2de8e351aeecc120b3b0bea4d9b7c072b 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -120,8 +120,10 @@ js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if (!str) return JS_FALSE; arglist[i-1]=JS_GetStringBytes(str); - } else + } else if(JSVAL_IS_INT(argv[i])) arglist[i-1]=(char *)JSVAL_TO_INT(argv[i]); + else + arglist[i-1]=NULL; } vsprintf(tmp,JS_GetStringBytes(fmt),(char*)arglist); @@ -149,8 +151,10 @@ js_format(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if (!str) return JS_FALSE; arglist[i-1]=JS_GetStringBytes(str); - } else + } else if(JSVAL_IS_INT(argv[i])) arglist[i-1]=(char *)JSVAL_TO_INT(argv[i]); + else + arglist[i-1]=NULL; } vsprintf(tmp,JS_GetStringBytes(fmt),(char*)arglist);