diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index e222137fd222e12d74ca74145d8f2251081b5f37..bbbcabbbbc6ba3600afb8983b3643385fbb5e24f 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -314,13 +314,13 @@ js_log(JSContext *cx, uintN argc, jsval *arglist) rc=JS_SUSPENDREQUEST(cx); lprintf(level,"%s",logstr); JS_RESUMEREQUEST(cx, rc); + FREE_AND_NULL(logstr); } - if(logstr==NULL) + if(str==NULL) JS_SET_RVAL(cx, arglist, JSVAL_VOID); else JS_SET_RVAL(cx, arglist, STRING_TO_JSVAL(str)); - free(logstr); return(JS_TRUE); } @@ -397,13 +397,14 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) JS_SET_RVAL(cx, arglist, JSVAL_VOID); for (i = 0; i < argc; i++) { - if((str=JS_ValueToString(cx, argv[0]))==NULL) + if((str=JS_ValueToString(cx, argv[i]))==NULL) return(JS_FALSE); JSSTRING_TO_RASTRING(cx, str, line, &line_sz, NULL); if(line==NULL) return(JS_FALSE); rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"%s",line); + FREE_AND_NULL(line); JS_RESUMEREQUEST(cx, rc); } @@ -411,8 +412,6 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) JS_SET_RVAL(cx, arglist, JSVAL_VOID); else JS_SET_RVAL(cx, arglist, STRING_TO_JSVAL(str)); - if(line) - free(line); return(JS_TRUE); }