From 2952b4eb95767bc97d8fec3e1be06220ea40a965 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Thu, 7 Feb 2013 06:20:21 +0000 Subject: [PATCH] Use HANDLE_PENDING() and support embedded NULLs in write() parameters. --- src/sbbs3/ftpsrvr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 83a22b4516..559d304c0d 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -389,6 +389,7 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) FILE* fp; jsrefcount rc; char *p; + size_t len; JS_SET_RVAL(cx, arglist, JSVAL_VOID); @@ -399,12 +400,11 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) str = JS_ValueToString(cx, argv[i]); if (!str) return JS_FALSE; - JSSTRING_TO_MSTRING(cx, str, p, NULL); - if(JS_IsExceptionPending(cx)) - return JS_FALSE; + JSSTRING_TO_MSTRING(cx, str, p, &len); + HANDLE_PENDING(cx); rc=JS_SUSPENDREQUEST(cx); if(p) { - fputs(p, fp); + fwrite(p, len, 1, fp); free(p); } JS_RESUMEREQUEST(cx, rc); -- GitLab