From 8024bc8b96798d35a446b8b4aea7d99edf0964a8 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 19 Jun 2002 05:03:28 +0000 Subject: [PATCH] Fixed SMB memory leaks. --- src/sbbs3/js_msgbase.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 557e4610fa..c897038127 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -303,8 +303,10 @@ js_get_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * smb_unlockmsghdr(&(p->smb),&msg); - if((hdrobj=JS_NewObject(cx,&js_msghdr_class,NULL,obj))==NULL) + if((hdrobj=JS_NewObject(cx,&js_msghdr_class,NULL,obj))==NULL) { + smb_freemsgmem(&msg); return(JS_TRUE); + } JS_DefineProperty(cx, hdrobj, "number", INT_TO_JSVAL(msg.hdr.number) ,NULL,NULL,JSPROP_READONLY|JSPROP_ENUMERATE); @@ -422,6 +424,8 @@ js_get_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * JS_DefineProperty(cx, hdrobj, "id", STRING_TO_JSVAL(JS_NewStringCopyZ(cx,val)) ,NULL,NULL,JSPROP_READONLY|JSPROP_ENUMERATE); + smb_freemsgmem(&msg); + *rval = OBJECT_TO_JSVAL(hdrobj); return(JS_TRUE); @@ -473,6 +477,7 @@ js_put_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * } while(0); smb_unlockmsghdr(&(p->smb),&msg); + smb_freemsgmem(&msg); return(JS_TRUE); } @@ -494,10 +499,12 @@ static char* get_msg_text(smb_t* smb, smbmsg_t* msg, BOOL strip_ctrl_a, ulong mo if((buf=smb_getmsgtxt(smb, msg, mode))==NULL) { smb_unlockmsghdr(smb,msg); + smb_freemsgmem(msg); return(NULL); } smb_unlockmsghdr(smb, msg); + smb_freemsgmem(msg); if(strip_ctrl_a) { char* newbuf; -- GitLab