Check for PyString_FromString being NULL.
authorJelmer Vernooij <jelmer@samba.org>
Wed, 23 Sep 2009 12:22:36 +0000 (14:22 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Wed, 23 Sep 2009 13:24:10 +0000 (15:24 +0200)
source4/param/provision.c

index 8a522e40a91d747443cffba5ea12a862f547049f..cb74f9682008aba4d0e417e8ea317db7d2e93d10 100644 (file)
 #include "lib/ldb/pyldb.h"
 #include "param/pyparam.h"
 
+static PyObject *provision_module(void)
+{
+       PyObject *name = PyString_FromString("samba.provision");
+       if (name == NULL)
+               return NULL;
+       return PyImport_Import(name);
+}
+
 NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
                        struct provision_settings *settings, 
                        struct provision_result *result)
@@ -49,7 +57,7 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
        Py_Initialize();
        py_update_path("bin"); /* FIXME: Can't assume this is always the case */
 
-       provision_mod = PyImport_Import(PyString_FromString("samba.provision"));
+       provision_mod = provision_module();
 
        if (provision_mod == NULL) {
                PyErr_Print();
@@ -152,7 +160,6 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
 }
 
 extern void initldb(void);
-extern void initsecurity(void);
 
 static PyObject *py_dom_sid_FromSid(struct dom_sid *sid)
 {
@@ -206,8 +213,7 @@ NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context
        Py_Initialize();
        py_update_path("bin"); /* FIXME: Can't assume this is always the case */
        initldb();
-       initsecurity();
-       provision_mod = PyImport_Import(PyString_FromString("samba.provision"));
+       provision_mod = provision_module();
 
        if (provision_mod == NULL) {
                PyErr_Print();