diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index 9e37f1d3713b0cc9f4ad10ef127e4ba7e49a9b3e..09763f5c76cebfe8293591b5642c1c9def38785f 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -1930,10 +1930,13 @@ js_gotoxy(JSContext *cx, uintN argc, jsval *arglist) JS_SET_RVAL(cx, arglist, JSVAL_VOID); if(JSVAL_IS_OBJECT(argv[0])) { - if(!JS_GetProperty(cx, JSVAL_TO_OBJECT(argv[0]),"x", &val) + JSObject* obj = JSVAL_TO_OBJECT(argv[0]); + if(obj == nullptr) + return JS_FALSE; + if(!JS_GetProperty(cx, obj, "x", &val) || !JS_ValueToInt32(cx,val,&x)) return JS_FALSE; - if(!JS_GetProperty(cx, JSVAL_TO_OBJECT(argv[0]),"y", &val) + if(!JS_GetProperty(cx, obj, "y", &val) || !JS_ValueToInt32(cx,val,&y)) return JS_FALSE; } else {