Skip to content
Snippets Groups Projects
Commit 66695aa0 authored by rswindell's avatar rswindell
Browse files

readBin() now returns -1 instead of garbage when attempting to read past the

end-of-file.
parent 768ec705
No related branches found
No related tags found
No related merge requests found
...@@ -274,7 +274,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ...@@ -274,7 +274,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
size_t size=sizeof(DWORD); size_t size=sizeof(DWORD);
private_t* p; private_t* p;
*rval = JSVAL_NULL; *rval = JSVAL_TO_INT(-1);
if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL)
return(JS_FALSE); return(JS_FALSE);
...@@ -287,15 +287,15 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ...@@ -287,15 +287,15 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
switch(size) { switch(size) {
case sizeof(BYTE): case sizeof(BYTE):
fread(&b,1,size,p->fp); if(fread(&b,1,size,p->fp)==size)
*rval = INT_TO_JSVAL(b); *rval = INT_TO_JSVAL(b);
break; break;
case sizeof(WORD): case sizeof(WORD):
fread(&w,1,size,p->fp); if(fread(&w,1,size,p->fp)==size)
*rval = INT_TO_JSVAL(w); *rval = INT_TO_JSVAL(w);
break; break;
case sizeof(DWORD): case sizeof(DWORD):
fread(&l,1,size,p->fp); if(fread(&l,1,size,p->fp)==size)
*rval = INT_TO_JSVAL(l); *rval = INT_TO_JSVAL(l);
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment