458 static PyObject *
459 dsaKey_new (PyObject * self, PyObject * args)
460 {
461 PyLongObject *y = NULL, *g = NULL, *p = NULL, *q = NULL, *x = NULL;
462 dsaKey *key;
463 if (!PyArg_ParseTuple(args, "O!O!O!O!|O!", &PyLong_Type, &y,
when PyArg_ParseTuple() succeeds
taking False path
464 &PyLong_Type, &g, &PyLong_Type, &p,
465 &PyLong_Type, &q, &PyLong_Type, &x))
466 return NULL;
467
468 key = PyObject_New (dsaKey, &dsaKeyType);
when _PyObject_New() fails
469 mpz_init (key->y);
dereferencing NULL (key->y) at src/_fastmath.c:469
470 mpz_init (key->g);
471 mpz_init (key->p);
472 mpz_init (key->q);
473 mpz_init (key->x);
474 longObjToMPZ (key->y, y);
475 longObjToMPZ (key->g, g);
476 longObjToMPZ (key->p, p);
477 longObjToMPZ (key->q, q);
478 if (x)
479 {
480 longObjToMPZ (key->x, x);
481 }
482 return (PyObject *) key;
483 }