Skip to content

Commit 8a7c7db

Browse files
authored
fix: Ensure empty eval() doesn't crash detect-eval-with-expression (#139)
1 parent c73effd commit 8a7c7db

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

rules/detect-eval-with-expression.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ module.exports = {
1919
url: 'https://github.com/eslint-community/eslint-plugin-security/blob/main/docs/rules/detect-eval-with-expression.md',
2020
},
2121
},
22-
create: function (context) {
22+
create(context) {
2323
return {
24-
CallExpression: function (node) {
25-
if (node.callee.name === 'eval' && node.arguments[0].type !== 'Literal') {
24+
CallExpression(node) {
25+
if (node.callee.name === 'eval' && node.arguments.length && node.arguments[0].type !== 'Literal') {
2626
context.report({ node: node, message: `eval with argument of type ${node.arguments[0].type}` });
2727
}
2828
},

test/rules/detect-eval-with-expression.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const tester = new RuleTester();
66
const ruleName = 'detect-eval-with-expression';
77

88
tester.run(ruleName, require(`../../rules/${ruleName}`), {
9-
valid: [{ code: "eval('alert()')" }],
9+
valid: [{ code: "eval('alert()')" }, { code: 'eval("some nefarious code");' }, { code: 'eval()' }],
1010
invalid: [
1111
{
1212
code: 'eval(a);',

0 commit comments

Comments
 (0)