Skip to content

Commit 1552bd8

Browse files
committed
QuickJS: fixed key usage processing with invalid values in WebCrypto.
1 parent befd625 commit 1552bd8

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

external/qjs_webcrypto_module.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -4637,10 +4637,17 @@ qjs_key_usage(JSContext *cx, JSValue value, unsigned *mask)
46374637
for (e = &qjs_webcrypto_usage[0]; e->name.length != 0; e++) {
46384638
if (njs_strstr_eq(&s, &e->name)) {
46394639
*mask |= e->value;
4640-
break;
4640+
goto done;
46414641
}
46424642
}
46434643

4644+
JS_ThrowTypeError(cx, "unknown key usage: \"%.*s\"", (int) s.length,
4645+
s.start);
4646+
JS_FreeCString(cx, (char *) s.start);
4647+
return JS_EXCEPTION;
4648+
4649+
done:
4650+
46444651
JS_FreeCString(cx, (char *) s.start);
46454652
}
46464653

0 commit comments

Comments
 (0)