1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 15:05:09 +00:00
serenity/Userland/Libraries/LibJS/Runtime
Linus Groh d85b9fd5a0 LibJS: Bring back runtime validation of RegExp flags
This is a partial revert of commit 60064e2, which removed the validation
of RegExp flags during runtime and expected the parser to do that
exclusively - however this was not taking into account the RegExp()
constructor, which was subsequently crashing on invalid flags.

Also adds test for these constructor error cases, which were obviously
missing before.

Fixes #7042.
2021-05-11 22:47:14 +01:00
..
Accessor.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
Array.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Array.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ArrayBuffer.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayBuffer.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayBufferConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayBufferConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayBufferPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayBufferPrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayConstructor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ArrayIterator.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ArrayIterator.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ArrayIteratorPrototype.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ArrayIteratorPrototype.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ArrayPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ArrayPrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigInt.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigInt.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntObject.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntObject.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BigIntPrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
BooleanConstructor.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BooleanConstructor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BooleanObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BooleanObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BooleanPrototype.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BooleanPrototype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoundFunction.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoundFunction.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Cell.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Cell.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CommonPropertyNames.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ConsoleObject.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ConsoleObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Date.cpp LibJS: Convert StringBuilder::appendf() => AK::Format 2021-05-07 21:12:09 +02:00
Date.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
DateConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
DateConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
DatePrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
DatePrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Error.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Error.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ErrorConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ErrorConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ErrorPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ErrorPrototype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ErrorTypes.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ErrorTypes.h LibJS: Bring back runtime validation of RegExp flags 2021-05-11 22:47:14 +01:00
Exception.cpp LibJS: Don't assume call_frame->current_node in Exception constructor 2021-04-25 21:45:23 +02:00
Exception.h LibJS: Use linusg@serenityos.org for my new copyright headers, too 2021-04-24 20:16:31 +02:00
Function.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Function.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FunctionConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
FunctionConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
FunctionPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
FunctionPrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
GlobalObject.cpp LibJS: Fallback to undefined if last value in eval() is empty 2021-04-25 22:52:19 +02:00
GlobalObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IndexedProperties.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
IndexedProperties.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
IteratorOperations.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
IteratorOperations.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
IteratorPrototype.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
IteratorPrototype.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
JobCallback.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
JSONObject.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
JSONObject.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
LexicalEnvironment.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LexicalEnvironment.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MarkedValueList.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MarkedValueList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MathObject.cpp LibJS: Correctly handle mixing +0 and -0 in Math.{min,max}() 2021-04-23 20:51:48 +02:00
MathObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NativeFunction.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NativeFunction.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NativeProperty.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NativeProperty.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NumberConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
NumberConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
NumberObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NumberObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NumberPrototype.cpp LibJS: Use u64 instead of u32 in NumberPrototype::to_string 2021-05-11 18:29:55 +01:00
NumberPrototype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Object.cpp LibJS: Temporarily clear exception in Object::get_without_side_effects() 2021-04-24 20:11:04 +02:00
Object.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ObjectConstructor.cpp LibJS: Use Object::get_own_properties() for getOwnPropertyNames() 2021-04-25 22:40:21 +02:00
ObjectConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ObjectPrototype.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ObjectPrototype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PrimitiveString.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PrimitiveString.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Promise.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Promise.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseJobs.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseJobs.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromisePrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromisePrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseReaction.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseReaction.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseResolvingFunction.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PromiseResolvingFunction.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
PropertyAttributes.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
PropertyName.h LibJS: Change PropertyName::as_number() return type to u32 2021-04-25 22:42:48 +02:00
ProxyConstructor.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ProxyConstructor.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ProxyObject.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ProxyObject.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
Reference.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Reference.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ReflectObject.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
ReflectObject.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
RegExpConstructor.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
RegExpConstructor.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
RegExpObject.cpp LibJS: Bring back runtime validation of RegExp flags 2021-05-11 22:47:14 +01:00
RegExpObject.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
RegExpPrototype.cpp LibJS: Use the match's global offset for 'index' in RegExp.exec() 2021-04-23 10:05:04 +02:00
RegExpPrototype.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
ScopeObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScriptFunction.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScriptFunction.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Shape.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Shape.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringConstructor.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringConstructor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringIterator.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
StringIterator.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
StringIteratorPrototype.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
StringIteratorPrototype.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
StringObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringOrSymbol.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
StringPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
StringPrototype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Symbol.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
Symbol.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolConstructor.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolConstructor.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolObject.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolObject.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolPrototype.cpp Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
SymbolPrototype.h Userland: Use mattco@serenityos.org for my copyright headers 2021-04-23 08:24:53 +02:00
TemporaryClearException.h LibJS: Use linusg@serenityos.org for my new copyright headers, too 2021-04-24 20:16:31 +02:00
TypedArray.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
TypedArray.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypedArrayConstructor.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
TypedArrayConstructor.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
TypedArrayPrototype.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
TypedArrayPrototype.h Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Uint8ClampedArray.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Uint8ClampedArray.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Value.cpp LibM: Fix INFITITY to float 2021-04-27 23:06:16 +02:00
Value.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
VM.cpp LibJS: Don't suppress GlobalObject variable lookup exceptions 2021-04-25 19:03:57 +02:00
VM.h LibJS+LibWeb: Move exception logging and remove should_log_exceptions 2021-04-24 20:11:04 +02:00
WithScope.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WithScope.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00