CodeQL documentation

Too few arguments in formatting call

ID: py/str-format/missing-argument
Kind: problem
Severity: error
Precision: high
   - reliability
   - correctness
Query suites:
   - python-security-and-quality.qls

Click to see the query in the CodeQL repository

A formatting expression, that is an expression of the form the_format.format(args) or format(the_format, args), must have sufficient arguments to match the format. Otherwise, an IndexError will be raised.


Either change the format to match the arguments, or ensure that there are sufficient arguments.


In the following example, only 2 arguments may be provided for the call to the str.format method, which is insufficient for the format string used. To fix this a third parameter should be provided on line 4.

def unsafe_format():
    the_format = "{} {} {}"
    if unlikely_condition():
        return the_format.format(1, 2)
        return the_format.format(1, 2, 3)