]> git.kaiwu.me - njs.git/commitdiff
QuickJS: added error checks in modules initialization.
authorVadim Zhestikov <v.zhestikov@f5.com>
Tue, 18 Mar 2025 17:40:24 +0000 (10:40 -0700)
committerVadimZhestikov <108960056+VadimZhestikov@users.noreply.github.com>
Wed, 19 Mar 2025 03:16:55 +0000 (20:16 -0700)
external/qjs_fs_module.c
external/qjs_query_string_module.c
external/qjs_webcrypto_module.c
external/qjs_zlib_module.c
src/qjs_buffer.c

index 9d1f7687c4b332d7493f635ea14fd24ac0e4cf78..b09d1dcdcd916f997d277b8ed172722dbe4e307a 100644 (file)
@@ -2960,6 +2960,10 @@ qjs_fs_module_init(JSContext *cx, JSModuleDef *m)
     JSValue  proto;
 
     proto = JS_NewObject(cx);
+    if (JS_IsException(proto)) {
+        return -1;
+    }
+
     JS_SetPropertyFunctionList(cx, proto, qjs_fs_export,
                                njs_nitems(qjs_fs_export));
 
@@ -3031,7 +3035,10 @@ qjs_fs_init(JSContext *cx, const char *name)
         return NULL;
     }
 
-    JS_AddModuleExport(cx, m, "default");
+    if (JS_AddModuleExport(cx, m, "default") < 0) {
+        return NULL;
+    }
+
     rc = JS_AddModuleExportList(cx, m, qjs_fs_export,
                                 njs_nitems(qjs_fs_export));
     if (rc != 0) {
index 85d2fcb3f42a511e553f261a9474f5dbd391ccb3..3059ee1becc1310a7b99ffe7ebcb0b443f4cb4be 100644 (file)
@@ -998,7 +998,10 @@ qjs_querystring_init(JSContext *ctx, const char *name)
         return NULL;
     }
 
-    JS_AddModuleExport(ctx, m, "default");
+    if (JS_AddModuleExport(ctx, m, "default") < 0) {
+        return NULL;
+    }
+
     rc = JS_AddModuleExportList(ctx, m, qjs_querystring_export,
                                 njs_nitems(qjs_querystring_export));
     if (rc != 0) {
index a19836518832274669f752ec1592d7b976fc9869..9552ca128ed540d3a5aafa919c63f374e401b993 100644 (file)
@@ -4775,6 +4775,10 @@ qjs_webcrypto_module_init(JSContext *cx, JSModuleDef *m)
     JSValue  proto;
 
     proto = JS_NewObject(cx);
+    if (JS_IsException(proto)) {
+        return -1;
+    }
+
     JS_SetPropertyFunctionList(cx, proto, qjs_webcrypto_export,
                                njs_nitems(qjs_webcrypto_export));
 
@@ -4833,7 +4837,10 @@ qjs_webcrypto_init(JSContext *cx, const char *name)
         return NULL;
     }
 
-    JS_AddModuleExport(cx, m, "default");
+    if (JS_AddModuleExport(cx, m, "default") < 0) {
+        return NULL;
+    }
+
     rc = JS_AddModuleExportList(cx, m, qjs_webcrypto_export,
                                 njs_nitems(qjs_webcrypto_export));
     if (rc != 0) {
index 2d3b2d92e554b96ba4f41e474a82ba0381d695de..5abf108a1ba5942df1a3d7a5cc9ee808783174c3 100644 (file)
@@ -463,6 +463,10 @@ qjs_zlib_module_init(JSContext *ctx, JSModuleDef *m)
     JSValue  proto;
 
     proto = JS_NewObject(ctx);
+    if (JS_IsException(proto)) {
+        return -1;
+    }
+
     JS_SetPropertyFunctionList(ctx, proto, qjs_zlib_export,
                                njs_nitems(qjs_zlib_export));
 
@@ -487,7 +491,10 @@ qjs_zlib_init(JSContext *ctx, const char *name)
         return NULL;
     }
 
-    JS_AddModuleExport(ctx, m, "default");
+    if (JS_AddModuleExport(ctx, m, "default") < 0) {
+        return NULL;
+    }
+
     rc = JS_AddModuleExportList(ctx, m, qjs_zlib_export,
                                 njs_nitems(qjs_zlib_export));
     if (rc != 0) {
index 638d273c63275752fd23fc0c0922f047089c9b7f..dfe7b04de14d1b2be2599bfafd69e08c3d4289af 100644 (file)
@@ -2550,6 +2550,10 @@ qjs_buffer_module_init(JSContext *ctx, JSModuleDef *m)
     JSValue  proto;
 
     proto = JS_NewObject(ctx);
+    if (JS_IsException(proto)) {
+        return -1;
+    }
+
     JS_SetPropertyFunctionList(ctx, proto, qjs_buffer_export,
                                njs_nitems(qjs_buffer_export));
 
@@ -2576,7 +2580,10 @@ qjs_buffer_init(JSContext *ctx, const char *name)
         return NULL;
     }
 
-    JS_AddModuleExport(ctx, m, "default");
+    if (JS_AddModuleExport(ctx, m, "default") < 0) {
+        return NULL;
+    }
+
     rc = JS_AddModuleExportList(ctx, m, qjs_buffer_export,
                                 njs_nitems(qjs_buffer_export));
     if (rc != 0) {