From eb39ffb8976ffaff982bd6d8943844c5a62801d9 Mon Sep 17 00:00:00 2001
From: Deuce <shurd@sasktel.net>
Date: Mon, 25 Jan 2021 20:04:28 -0500
Subject: [PATCH] Don't throw an exception when setting or getting class
 properties.

Doing so prevents extending the prototype.
---
 src/sbbs3/js_file.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c
index 8e448d89c7..2177335eac 100644
--- a/src/sbbs3/js_file.c
+++ b/src/sbbs3/js_file.c
@@ -2272,8 +2272,8 @@ static JSBool js_file_set(JSContext *cx, JSObject *obj, jsid id, JSBool strict,
 	jsrefcount	rc;
 	char*		str = NULL;
 
-	if((p=(private_t*)js_GetClassPrivate(cx, obj, &js_file_class))==NULL) {
-		return(JS_FALSE);
+	if((p=(private_t*)JS_GetInstancePrivate(cx, obj, &js_file_class, NULL))==NULL) {
+		return(JS_TRUE);
 	}
 
     JS_IdToValue(cx, id, &idval);
@@ -2411,8 +2411,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)
-		return(JS_FALSE);
+	if((p=(private_t*)JS_GetInstancePrivate(cx, obj, NULL, NULL))==NULL)
+		return(JS_TRUE);
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);
-- 
GitLab