[SCM] Samba Shared Repository - branch master updated

Matthias Dieter Wallnöfer mdw at samba.org
Tue Mar 22 12:53:02 MDT 2011


The branch, master has been updated
       via  3940777 s4:python bindings - handle NULL returns from "loadparm_init_global"
       via  5d09aca s4:param/loadparm.c - check for OOM
       via  bd25bc1 s4:auth/system_session.c - check for OOM
      from  b8d0994 s4:ntvfs/posix: name->dos.attrib isn't initialized in pvfs_access_check_create()

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 3940777a14a93dbf88fcc9e43452fc2f84a7b6fc
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Mon Mar 21 10:32:24 2011 +0100

    s4:python bindings - handle NULL returns from "loadparm_init_global"
    
    Reviewed-by: Jelmer
    
    Autobuild-User: Matthias Dieter Wallnöfer <mdw at samba.org>
    Autobuild-Date: Tue Mar 22 19:52:57 CET 2011 on sn-devel-104

commit 5d09acab7e5e671f244d69f59d1714a16bdb93fb
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Mon Mar 21 10:25:52 2011 +0100

    s4:param/loadparm.c - check for OOM
    
    Return NULL if the loadparm context hasn't been allocated
    
    Reviewed-by: Jelmer

commit bd25bc133a2a6f2b4d755b6d3ea83c956a60e3af
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Mon Mar 21 10:25:09 2011 +0100

    s4:auth/system_session.c - check for OOM
    
    Reviewed-by: Jelmer

-----------------------------------------------------------------------

Summary of changes:
 source4/auth/gensec/pygensec.c |   10 ++++++++++
 source4/auth/system_session.c  |    2 ++
 source4/param/loadparm.c       |    3 +++
 source4/param/pyparam.c        |    4 ++++
 source4/param/pyparam_util.c   |    3 +++
 5 files changed, 22 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/auth/gensec/pygensec.c b/source4/auth/gensec/pygensec.c
index cd05bd7..5fe3703 100644
--- a/source4/auth/gensec/pygensec.c
+++ b/source4/auth/gensec/pygensec.c
@@ -113,6 +113,11 @@ static PyObject *py_gensec_start_client(PyTypeObject *type, PyObject *args, PyOb
 		}
 
 		settings->lp_ctx = loadparm_init_global(true);
+		if (settings->lp_ctx == NULL) {
+			PyErr_NoMemory();
+			PyObject_DEL(self);
+			return NULL;
+		}
 	}
 
 	ev = tevent_context_init(self->talloc_ctx);
@@ -181,6 +186,11 @@ static PyObject *py_gensec_start_server(PyTypeObject *type, PyObject *args, PyOb
 		}
 
 		settings->lp_ctx = loadparm_init_global(true);
+		if (settings->lp_ctx == NULL) {
+			PyErr_NoMemory();
+			PyObject_DEL(self);
+			return NULL;
+		}
 	}
 
 	ev = tevent_context_init(self->talloc_ctx);
diff --git a/source4/auth/system_session.c b/source4/auth/system_session.c
index ad0dab6..54b8f51 100644
--- a/source4/auth/system_session.c
+++ b/source4/auth/system_session.c
@@ -268,6 +268,8 @@ static NTSTATUS auth_domain_admin_session_info(TALLOC_CTX *parent_ctx,
 	struct auth_user_info_dc *user_info_dc = NULL;
 	TALLOC_CTX *mem_ctx = talloc_new(parent_ctx);
 
+	NT_STATUS_HAVE_NO_MEMORY(mem_ctx);
+
 	nt_status = auth_domain_admin_user_info_dc(mem_ctx, lpcfg_netbios_name(lp_ctx),
 						  lpcfg_workgroup(lp_ctx), domain_sid,
 						  &user_info_dc);
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index 1864436..49d2e1c 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -2533,6 +2533,9 @@ struct loadparm_context *loadparm_init_global(bool load_default)
 	if (global_loadparm_context == NULL) {
 		global_loadparm_context = loadparm_init(NULL);
 	}
+	if (global_loadparm_context == NULL) {
+		return NULL;
+	}
 	if (load_default && !global_loadparm_context->loaded) {
 		lpcfg_load_default(global_loadparm_context);
 	}
diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c
index a248215..3ba8146 100644
--- a/source4/param/pyparam.c
+++ b/source4/param/pyparam.c
@@ -335,6 +335,10 @@ static PyObject *py_lp_ctx_new(PyTypeObject *type, PyObject *args, PyObject *kwa
 		return NULL;
 	}
 	ret->ptr = loadparm_init_global(false);
+	if (ret->ptr == NULL) {
+		PyErr_NoMemory();
+		return NULL;
+	}
 	return (PyObject *)ret;
 }
 
diff --git a/source4/param/pyparam_util.c b/source4/param/pyparam_util.c
index 528c007..cbf2095 100644
--- a/source4/param/pyparam_util.c
+++ b/source4/param/pyparam_util.c
@@ -35,6 +35,9 @@ _PUBLIC_ struct loadparm_context *lpcfg_from_py_object(TALLOC_CTX *mem_ctx, PyOb
 
 	if (PyString_Check(py_obj)) {
 		lp_ctx = loadparm_init_global(false);
+		if (lp_ctx == NULL) {
+			return NULL;
+		}
 		if (!lpcfg_load(lp_ctx, PyString_AsString(py_obj))) {
 			PyErr_Format(PyExc_RuntimeError, "Unable to load %s", 
 				     PyString_AsString(py_obj));


-- 
Samba Shared Repository


More information about the samba-cvs mailing list