pycredentials: Raise MemoryError when unable to create objects.
authorJelmer Vernooij <jelmer@samba.org>
Wed, 17 Jun 2009 17:07:22 +0000 (19:07 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Wed, 17 Jun 2009 18:45:38 +0000 (20:45 +0200)
source4/auth/credentials/pycredentials.c

index 3b119555380d05278e2ed486629820d21751d60a..b0433abeab150d9a7781fea32cb43e7c0117d493 100644 (file)
@@ -38,9 +38,14 @@ static PyObject *PyString_FromStringOrNULL(const char *str)
 
 static PyObject *py_creds_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
 {
-       py_talloc_Object *ret = (py_talloc_Object *)PyCredentials.tp_alloc(&PyCredentials, 0);
+       py_talloc_Object *ret = (py_talloc_Object *)type->tp_alloc(type, 0);
+       if (ret == NULL) {
+               PyErr_NoMemory();
+               return NULL;
+       }
        ret->talloc_ctx = talloc_new(NULL);
        if (ret->talloc_ctx == NULL) {
+               PyErr_NoMemory();
                return NULL;
        }
        ret->ptr = cli_credentials_init(ret->talloc_ctx);