From ebd19f29aa9ce2f6344ba6c96584b6dc9969aced Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 15 Aug 2019 18:34:03 +0000 Subject: [PATCH] Fix "off-by-one" error in File.readln() and readAll() with regards to the 'maxlen' argument. E.g. passing 10 would result in a maximum read string length of 9 characters. --- src/sbbs3/js_file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index e159c67321..964175f51c 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -533,11 +533,11 @@ js_readln(JSContext *cx, uintN argc, jsval *arglist) return(JS_FALSE); } - if((buf=malloc(len))==NULL) + if((buf=malloc(len + 1))==NULL) return(JS_FALSE); rc=JS_SUSPENDREQUEST(cx); - if(fgets(buf,len,p->fp)!=NULL) { + if(fgets(buf,len + 1,p->fp)!=NULL) { len=strlen(buf); while(len>0 && (buf[len-1]=='\r' || buf[len-1]=='\n')) len--; -- GitLab