From: Jeremy Hylton Date: Mon, 29 Jan 2001 22:46:35 +0000 (+0000) Subject: Cleanup logic a little. Check args first, then try to create the X-Git-Tag: v2.1a2~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=55087f0c351d6de453a5c95293792051d899f16b;p=thirdparty%2FPython%2Fcpython.git Cleanup logic a little. Check args first, then try to create the object. This avoids creation + decref if bogus arguments are passed. --- diff --git a/Modules/shamodule.c b/Modules/shamodule.c index 32ac02dbabee..8bfcec7b82b7 100644 --- a/Modules/shamodule.c +++ b/Modules/shamodule.c @@ -491,16 +491,15 @@ SHA_new(PyObject *self, PyObject *args, PyObject *kwdict) SHAobject *new; unsigned char *cp = NULL; int len; - - if ((new = newSHAobject()) == NULL) - return NULL; if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|s#:new", kwlist, &cp, &len)) { - Py_DECREF(new); return NULL; } + if ((new = newSHAobject()) == NULL) + return NULL; + sha_init(new); if (PyErr_Occurred()) {