调用中参数数量错误¶
ID: py/call/wrong-arguments
Kind: problem
Security severity:
Severity: error
Precision: very-high
Tags:
- reliability
- correctness
- external/cwe/cwe-685
Query suites:
- python-security-and-quality.qls
函数调用必须为每个没有定义默认值的形参提供一个参数,因此
参数的最小数量是无默认值的形参数量。
参数的最大数量是形参的总数,除非函数接受可变参数(星号),在这种情况下没有限制。
建议¶
如果参数数量不足,请检查哪些参数被省略,并为这些参数提供值。
如果参数数量过多,请检查是否错误添加了任何参数,并将其删除。
还要检查是否在运算符或点号的位置插入了逗号。例如,代码是 obj,attr
,而应该是 obj.attr
。
如果不清楚哪些参数缺少或多余,则表明存在逻辑错误。修复方法将取决于错误的性质。
参考¶
Python 词汇表: 参数.
Python 词汇表: 形参.
Python 编程常见问题解答: 参数和形参有什么区别?.
常见漏洞枚举: CWE-685.