Fix unnoticed exception in JS_DetectModule #889
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JS_DetectModule calls JS_AddIntrinsicRegExp but that indirectly uses
ctx->global_objwhen it tries to defineglobalThis.RegExp.There is no
ctx->global_objhowever because JS_NewContextRaw doesn't create one. It raised an "not an object" TypeError that went unnoticed because there is no error checking in JS_NewGlobalCConstructor2.Using JS_AddIntrinsicRegExpCompiler is better all around because we only need to parse regexp literals, nothing more.
JS_NewGlobalCConstructor2 should probably be changed to do proper error checking, and __JS_EvalInternal to return JS_EXCEPTION when an exception is pending on entry, but I'll save that for another commit.