yaml.semgrep.unnecessary-parent.unnecessary-parent-operator

Author
225
Download Count*
License
Unnecessary parent operator. Remove one to fix.
Run Locally
Run in CI
Defintion
rules:
- id: unnecessary-parent-operator
message: Unnecessary parent operator. Remove one to fix.
languages:
- yaml
patterns:
- pattern-inside: "rules: [..., $RULE, ...]"
- pattern-either:
- patterns:
- pattern: |
pattern-either:
- $THING1
- ...
- pattern-not: |
pattern-either:
- $THING1
- $THING2
- ...
- patterns:
- pattern: |
patterns:
- $THING1
- ...
- pattern-not: |
patterns:
- $THING1
- $THING2
- ...
- pattern: |
pattern-either:
- ...
- pattern-either:
- ...
severity: WARNING
metadata:
category: best-practice
technology:
- semgrep
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
Examples
unnecessary-parent.test.yaml
rules:
- id: unchecked-subprocess-call1
# ruleid: unnecessary-parent-operator
patterns:
- pattern-either:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call2
# ok: unnecessary-parent-operator
patterns:
- pattern-either:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
- pattern: subprocess.call3(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call3
# ruleid: unnecessary-parent-operator
pattern-either:
- patterns:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call4
# ok: unnecessary-parent-operator
pattern-either:
- patterns:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
- pattern: subprocess.call3(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call5
# ruleid: unnecessary-parent-operator
pattern-either:
- pattern: subprocess.call1(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call6
# ok: unnecessary-parent-operator
pattern-either:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call7
# ruleid: unnecessary-parent-operator
patterns:
- pattern: subprocess.call1(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
- id: unchecked-subprocess-call8
# ok: unnecessary-parent-operator
patterns:
- pattern: subprocess.call1(...)
- pattern: subprocess.call2(...)
message: test
severity: WARNING
fix: subprocess.check_call(...)
Short Link: https://sg.run/E5bP