From: Vadim Zhestikov Date: Tue, 18 Mar 2025 17:40:24 +0000 (-0700) Subject: QuickJS: added error checks in modules initialization. X-Git-Tag: 0.8.10~17 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=6736121eba717407356c0a7e8ac7046c7744b7e6;p=njs.git QuickJS: added error checks in modules initialization. --- diff --git a/external/qjs_fs_module.c b/external/qjs_fs_module.c index 9d1f7687..b09d1dcd 100644 --- a/external/qjs_fs_module.c +++ b/external/qjs_fs_module.c @@ -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) { diff --git a/external/qjs_query_string_module.c b/external/qjs_query_string_module.c index 85d2fcb3..3059ee1b 100644 --- a/external/qjs_query_string_module.c +++ b/external/qjs_query_string_module.c @@ -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) { diff --git a/external/qjs_webcrypto_module.c b/external/qjs_webcrypto_module.c index a1983651..9552ca12 100644 --- a/external/qjs_webcrypto_module.c +++ b/external/qjs_webcrypto_module.c @@ -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) { diff --git a/external/qjs_zlib_module.c b/external/qjs_zlib_module.c index 2d3b2d92..5abf108a 100644 --- a/external/qjs_zlib_module.c +++ b/external/qjs_zlib_module.c @@ -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) { diff --git a/src/qjs_buffer.c b/src/qjs_buffer.c index 638d273c..dfe7b04d 100644 --- a/src/qjs_buffer.c +++ b/src/qjs_buffer.c @@ -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) {