From cec6efe8025014d600bbdc1356a7774fc16ee609 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Sat, 12 Nov 2011 00:50:10 +0000
Subject: [PATCH] We can't throww an exception from the get function when
 private data is NULL because the get function is called on the prototype
 which isn't constructed (via the constructor).

---
 src/sbbs3/js_file.c    | 4 +---
 src/sbbs3/js_msgbase.c | 4 +---
 src/sbbs3/js_queue.c   | 6 ++----
 3 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c
index 88f4774508..d38fd7850c 100644
--- a/src/sbbs3/js_file.c
+++ b/src/sbbs3/js_file.c
@@ -1931,10 +1931,8 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 	off_t		lng;
 	int			in;
 
-	if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) {
-		JS_ReportError(cx,getprivate_failure,WHERE);
+	if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL)
 		return(JS_FALSE);
-	}
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);
diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c
index 9644f216ab..8ac08b9abf 100644
--- a/src/sbbs3/js_msgbase.c
+++ b/src/sbbs3/js_msgbase.c
@@ -2033,10 +2033,8 @@ static JSBool js_msgbase_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 	private_t*	p;
 	jsrefcount	rc;
 
-	if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) {
-		JS_ReportError(cx,getprivate_failure,WHERE);
+	if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL)
 		return(JS_FALSE);
-	}
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);
diff --git a/src/sbbs3/js_queue.c b/src/sbbs3/js_queue.c
index 4a68f9e5d5..1d16e2fde1 100644
--- a/src/sbbs3/js_queue.c
+++ b/src/sbbs3/js_queue.c
@@ -302,10 +302,8 @@ static JSBool js_queue_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 	msg_queue_t*	q;
 	jsrefcount		rc;
 
-	if((q=(msg_queue_t*)JS_GetPrivate(cx,obj))==NULL) {
-		JS_ReportError(cx,getprivate_failure,WHERE);
-		return(JS_FALSE);
-	}
+	if((q=(msg_queue_t*)JS_GetPrivate(cx,obj))==NULL)
+		return JS_FALSE;
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);
-- 
GitLab