Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: no-invalid-meta crashes for non Object values (fixes #10750) #10753

Merged
merged 1 commit into from Aug 18, 2018

Conversation

s4san
Copy link
Contributor

@s4san s4san commented Aug 10, 2018

What is the purpose of this pull request? (put an "X" next to item)

[ ] Documentation update
[x] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofixing to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

Issue ( #10750 )

What changes did you make? (Give an overview)

  • Added a check to prevent getPropertyFromObject trying to access the length property of undefined

Is there anything you'd like reviewers to focus on?

  • Changed the getPropertyFromObject function across all internal rule files.

@eslint-deprecated eslint-deprecated bot added the triage An ESLint team member will look at this issue soon label Aug 10, 2018
Copy link
Member

@platinumazure platinumazure left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! Leaving this open for another couple of days in case other team members wish to review.

@platinumazure platinumazure added bug ESLint is working incorrectly rule Relates to ESLint's core rules infrastructure Relates to the tools used in the ESLint development process accepted There is consensus among the team that this change meets the criteria for inclusion and removed triage An ESLint team member will look at this issue soon labels Aug 11, 2018
{
code: [
"module.exports = {",
" meta: [],",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

meta could be an object. is the [] intentional?

Copy link
Contributor Author

@s4san s4san Aug 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. In case of an emtpy object, node.properties is [] but for any other type it is undefined resulting in a crash. I intentionally declared meta as an array to elicit this case

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see.thanks for the clarification!

Copy link
Member

@aladdin-add aladdin-add left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@platinumazure platinumazure merged commit 034690f into eslint:master Aug 18, 2018
@eslint-deprecated eslint-deprecated bot locked and limited conversation to collaborators Feb 15, 2019
@eslint-deprecated eslint-deprecated bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Feb 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion archived due to age This issue has been archived; please open a new issue for any further discussion bug ESLint is working incorrectly infrastructure Relates to the tools used in the ESLint development process rule Relates to ESLint's core rules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants