diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 4d3424babbbf0c46db600a60e5966ba62daafb01..6a211063d3b39671cee99b68aea07cf401bf867f 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -399,9 +399,14 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) str = JS_ValueToString(cx, argv[i]); if (!str) return JS_FALSE; - JSSTRING_TO_STRING(cx, str, p, NULL); + JSSTRING_TO_MSTRING(cx, str, p, NULL); rc=JS_SUSPENDREQUEST(cx); - fprintf(fp,"%s", p); + if(p) { + fputs(p, fp); + free(p); + } + else + return JS_FALSE; JS_RESUMEREQUEST(cx, rc); }