From 28025035306355325531441f6fc3c37690c88778 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 20 Oct 2003 22:01:13 +0000
Subject: [PATCH] Fixed warning (from last commit) about JS_GetPrivate when
 constructing a new User object.

---
 src/sbbs3/js_user.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c
index ccd8efcdc1..9df83372aa 100644
--- a/src/sbbs3/js_user.c
+++ b/src/sbbs3/js_user.c
@@ -886,16 +886,20 @@ js_user_constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval
 	if(!js_DefineSyncProperties(cx, obj, js_user_properties))
 		return(JS_FALSE);
 
-	if(!js_DefineSyncMethods(cx, obj, js_user_functions, FALSE))
-		return(JS_FALSE);
-
 	if((p=(private_t*)malloc(sizeof(private_t)))==NULL)
 		return(JS_FALSE);
 
 	p->cfg = scfg;
 	p->usernumber = user.number;
 
-	JS_SetPrivate(cx, obj, p);
+	JS_SetPrivate(cx, obj, p);	/* Must do this before calling js_DefineSyncMethods() */
+
+	if(!js_DefineSyncMethods(cx, obj, js_user_functions, FALSE)) {
+		JS_SetPrivate(cx, obj, NULL);
+		free(p);
+		return(JS_FALSE);
+	}
+
 	JS_SetPrivate(cx, statsobj, p);
 	JS_SetPrivate(cx, securityobj, p);
 
-- 
GitLab