Skip to content
Snippets Groups Projects
Commit 265ef397 authored by deuce's avatar deuce
Browse files

Fix some pending argument validation changes I've been sitting on.

Nobody should notice a change unless their JS is broken.
parent db981963
Branches
Tags
No related merge requests found
......@@ -182,6 +182,9 @@ js_send(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(!js_argc(cx, argc, 1))
return JS_FALSE;
JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
JSVALUE_TO_STRING(cx, argv[0], cp, &len);
......@@ -218,6 +221,9 @@ js_sendfile(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(!js_argc(cx, argc, 1))
return JS_FALSE;
JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
JSVALUE_TO_STRING(cx, argv[0], fname, NULL);
......@@ -278,14 +284,14 @@ js_sendbin(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(argc && argv[0]!=JSVAL_VOID) {
if(!JS_ValueToInt32(cx,argv[0],&val))
return JS_FALSE;
}
if(argc>1 && argv[1]!=JSVAL_VOID) {
if(!JS_ValueToInt32(cx,argv[1],(int32*)&size))
return JS_FALSE;
}
if(!js_argc(cx, argc, 1))
return JS_FALSE;
if(!JS_ValueToInt32(cx,argv[0],&val))
return JS_FALSE;
if(!JS_ValueToInt32(cx,argv[1],(int32*)&size))
return JS_FALSE;
rc=JS_SUSPENDREQUEST(cx);
switch(size) {
......@@ -342,12 +348,12 @@ js_recv(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(argc && argv[0]!=JSVAL_VOID) {
if(argc) {
if(!JS_ValueToInt32(cx,argv[0],&len))
return JS_FALSE;
}
if(argc>1 && argv[1]!=JSVAL_VOID) {
if(argc>1) {
if(!JS_ValueToInt32(cx,argv[1],&timeout))
return JS_FALSE;
}
......@@ -399,7 +405,7 @@ js_recvline(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(argc && argv[0]!=JSVAL_VOID) {
if(argc) {
if(!JS_ValueToInt32(cx,argv[0],&len))
return JS_FALSE;
}
......@@ -409,7 +415,7 @@ js_recvline(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(argc>1 && argv[1]!=JSVAL_VOID) {
if(argc>1) {
if(!JS_ValueToInt32(cx,argv[1],&timeout))
return JS_FALSE;
}
......@@ -458,12 +464,12 @@ js_recvbin(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE);
}
if(argc && argv[0]!=JSVAL_VOID) {
if(argc) {
if(!JS_ValueToInt32(cx,argv[0],(int32*)&size))
return JS_FALSE;
}
if(argc>1 && argv[1]!=JSVAL_VOID) {
if(argc>1) {
if(!JS_ValueToInt32(cx,argv[1],&timeout));
return JS_FALSE;
}
......
......@@ -510,7 +510,7 @@ js_conio_gotoxy(JSContext *cx, uintN argc, jsval *arglist)
int32 x,y;
jsrefcount rc;
if(argc==2 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&x)
if(argc >= 2 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&x)
&& JSVAL_IS_NUMBER(argv[1]) && JS_ValueToInt32(cx,argv[1],&y)) {
rc=JS_SUSPENDREQUEST(cx);
gotoxy(x,y);
......@@ -518,6 +518,7 @@ js_conio_gotoxy(JSContext *cx, uintN argc, jsval *arglist)
JS_RESUMEREQUEST(cx, rc);
return(JS_TRUE);
}
JS_ReportError(cx, "Insufficient Arguments");
return(JS_FALSE);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment