diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 205e49b5d72396a0e01d0f34acdb17fb7e493337..9fa989eac100d545254fd88068aab476b495bd20 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -3772,10 +3772,16 @@ js_show_msg_header(JSContext *cx, uintN argc, jsval *arglist) if(JSVAL_IS_OBJECT(argv[n]) && !JSVAL_IS_NULL(argv[n])) { if((hdrobj=JSVAL_TO_OBJECT(argv[n]))==NULL) { JS_ReportError(cx, "invalid object argument"); + free(subject); + free(from); + free(to); return JS_FALSE; } if(!js_GetMsgHeaderObjectPrivates(cx, hdrobj, &smb, &msg, NULL)) { JS_ReportError(cx, "msg hdr object lacks privates"); + free(subject); + free(from); + free(to); return JS_FALSE; } } else if(JSVAL_IS_STRING(argv[n])) { @@ -3794,9 +3800,9 @@ js_show_msg_header(JSContext *cx, uintN argc, jsval *arglist) sbbs->show_msghdr(smb, msg, subject, from, to); JS_RESUMEREQUEST(cx, rc); } - FREE_AND_NULL(subject); - FREE_AND_NULL(from); - FREE_AND_NULL(to); + free(subject); + free(from); + free(to); return JS_TRUE; }