Expand Up
@@ -5671,6 +5671,7 @@ test_fatal_error(PyObject *self, PyObject *args)
static PyObject *test_buildvalue_issue38913(PyObject *, PyObject *);
static PyObject *getargs_s_hash_int(PyObject *, PyObject *, PyObject*);
static PyObject *getargs_s_hash_int2(PyObject *, PyObject *, PyObject*);
static PyObject *gh_99240_clear_args(PyObject *, PyObject *);
static PyMethodDef TestMethods[] = {
{"raise_exception", raise_exception, METH_VARARGS},
Expand Down
Expand Up
@@ -5784,6 +5785,7 @@ static PyMethodDef TestMethods[] = {
METH_VARARGS|METH_KEYWORDS},
{"getargs_s_hash_int2", (PyCFunction)(void(*)(void))getargs_s_hash_int2,
METH_VARARGS|METH_KEYWORDS},
{"gh_99240_clear_args", gh_99240_clear_args, METH_VARARGS},
{"getargs_z", getargs_z, METH_VARARGS},
{"getargs_z_star", getargs_z_star, METH_VARARGS},
{"getargs_z_hash", getargs_z_hash, METH_VARARGS},
Expand Down
Expand Up
@@ -7500,3 +7502,21 @@ getargs_s_hash_int2(PyObject *self, PyObject *args, PyObject *kwargs)
PyBuffer_Release(&buf);
Py_RETURN_NONE;
}
static PyObject *
gh_99240_clear_args(PyObject *self, PyObject *args)
{
char *a = NULL;
char *b = NULL;
if (!PyArg_ParseTuple(args, "eses", "idna", &a, "idna", &b)) {
if (a || b) {
PyErr_Clear();
PyErr_SetString(PyExc_AssertionError, "Arguments are not cleared.");
}
return NULL;
}
PyMem_Free(a);
PyMem_Free(b);
Py_RETURN_NONE;
}