Closed
Description
Bug report
Originally found in #110782 by @mxschmitt and @JelleZijlstra
This is the reproducer:
/*[clinic input]
null_or_tuple_for_varargs
name: object
*constraints: object
covariant: bool = False
[clinic start generated code]*/
static PyObject *
null_or_tuple_for_varargs_impl(PyObject *module, PyObject *name,
PyObject *constraints, int covariant)
/*[clinic end generated code: output=a785b35421358983 input=017dc120cb6e651b]*/
{
assert(name != NULL);
assert(constraints != NULL);
assert(covariant == 0 || covariant == 1);
Py_RETURN_NONE;
}
When called with name=...
, it crashes:
>>> import _testclinic
>>> _testclinic.null_or_tuple_for_varargs('a')
>>> _testclinic.null_or_tuple_for_varargs(name='a')
Assertion failed: (constraints != NULL), function null_or_tuple_for_varargs_impl, file _testclinic.c, line 1148.
[1] 30808 abort ./python.exe
I have a PR ready with the fix.
CC @erlend-aasland as AC maintainer.