From 66695aa049aa776593f8fd05cc938eefb08bf6e7 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 21 Jan 2002 03:16:01 +0000 Subject: [PATCH] readBin() now returns -1 instead of garbage when attempting to read past the end-of-file. --- src/sbbs3/js_file.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index 5715008636..1600bb940e 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -274,7 +274,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) size_t size=sizeof(DWORD); private_t* p; - *rval = JSVAL_NULL; + *rval = JSVAL_TO_INT(-1); if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) return(JS_FALSE); @@ -287,16 +287,16 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) switch(size) { case sizeof(BYTE): - fread(&b,1,size,p->fp); - *rval = INT_TO_JSVAL(b); + if(fread(&b,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(b); break; case sizeof(WORD): - fread(&w,1,size,p->fp); - *rval = INT_TO_JSVAL(w); + if(fread(&w,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(w); break; case sizeof(DWORD): - fread(&l,1,size,p->fp); - *rval = INT_TO_JSVAL(l); + if(fread(&l,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(l); break; } -- GitLab