From 4e6d819232f5c4d1f825cf0bcee6b59c519e2f7c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 15 Jun 2012 20:38:10 +0000
Subject: [PATCH] Fix del_user() method: must set user.number before calling
 getuserdat().

---
 src/sbbs3/js_system.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c
index e795ec0ceb..494e8fe107 100644
--- a/src/sbbs3/js_system.c
+++ b/src/sbbs3/js_system.c
@@ -1485,14 +1485,15 @@ js_del_user(JSContext *cx, uintN argc, jsval *arglist)
 	if((cfg=(scfg_t*)JS_GetPrivate(cx,obj))==NULL)
 		return(JS_FALSE);
 
-	JS_ValueToInt32(cx,argv[0],&n);
-
+	if(!JS_ValueToInt32(cx,argv[0],&n))
+		return(JS_FALSE);
+	user.number=n;
 	rc=JS_SUSPENDREQUEST(cx);
-	JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
+	JS_SET_RVAL(cx, arglist, JSVAL_FALSE);	/* fail, by default */
 	if(getuserdat(cfg, &user)==0
 		&& putuserrec(cfg,n,U_MISC,8,ultoa(user.misc|DELETED,str,16))==0
 		&& putusername(cfg,n,nulstr)==0)
-		JS_SET_RVAL(cx, arglist, JSVAL_TRUE);
+		JS_SET_RVAL(cx, arglist, JSVAL_TRUE);	/* success */
 	JS_RESUMEREQUEST(cx, rc);
 	
 	return(JS_TRUE);
-- 
GitLab