-
Notifications
You must be signed in to change notification settings - Fork 30.2k
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
child_process: validate strings in exec and spawn #56148
base: main
Are you sure you want to change the base?
Conversation
358bd79
to
40a0a9f
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #56148 +/- ##
==========================================
+ Coverage 87.99% 89.17% +1.18%
==========================================
Files 656 662 +6
Lines 188999 191670 +2671
Branches 35981 36892 +911
==========================================
+ Hits 166301 170913 +4612
+ Misses 15865 13623 -2242
- Partials 6833 7134 +301
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please remove all the unrelated changes? It makes the PR hard to review. Please only include changes that are necessary to make the added test pass, and all the other changes should be made in a separate PR.
40a0a9f
to
18ddc47
Compare
18ddc47
to
6d02bc8
Compare
6d02bc8
to
0a84382
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like the added test pass on main
, meaning either the change in lib/
is only a refactor, or we are not adding sufficient coverage to avoid regression.
it was mainly refactoring because, for example, when calling |
I don't think it's the right approach, we should optimize for the happy path, where there are no error thrown. IIUC, with this change we would be checking twice if the arguments are valid, so in order to save some cycles we should not land this. |
0a84382
to
a3b5b1a
Compare
gotcha. I went in that direction because I noticed that was the case already. With the latest push all the validation is done down the line and only once |
The added tests are passing on latest |
a3b5b1a
to
80fcad1
Compare
The commit message of 80fcad1 should say it's a refactor, e.g. The commit message of 2f43432 should be using IMO the order of commits should be reversed, tests should land first. |
2f43432
to
c07b9d8
Compare
c07b9d8
to
52c7bb1
Compare
I went through the
exec
,execFile
,spawn
,execSync
,execFileSync
andspawnSync
functions inchild_process
and edited all the functions to properly validate their string parameters