From: Dmitry Volyntsev Date: Thu, 13 Feb 2025 02:12:38 +0000 (-0800) Subject: QuickJS: fixed key usage processing with invalid values in WebCrypto. X-Git-Tag: 0.8.10~33 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=b065b41142cdf059cc5ace9e3c2495c624b8aee1;p=njs.git QuickJS: fixed key usage processing with invalid values in WebCrypto. --- diff --git a/external/qjs_webcrypto_module.c b/external/qjs_webcrypto_module.c index cc654c0a..6e820887 100644 --- a/external/qjs_webcrypto_module.c +++ b/external/qjs_webcrypto_module.c @@ -4637,10 +4637,17 @@ qjs_key_usage(JSContext *cx, JSValue value, unsigned *mask) for (e = &qjs_webcrypto_usage[0]; e->name.length != 0; e++) { if (njs_strstr_eq(&s, &e->name)) { *mask |= e->value; - break; + goto done; } } + JS_ThrowTypeError(cx, "unknown key usage: \"%.*s\"", (int) s.length, + s.start); + JS_FreeCString(cx, (char *) s.start); + return JS_EXCEPTION; + +done: + JS_FreeCString(cx, (char *) s.start); }