The branch, master has been updated via a9e4aba... s4/libnet: Allocate mem in supplied mem_ctx via 82b8bbd... s4/py_net: Source code formatting fix from 98942c8... build: use a common autogen-waf.sh for all builds
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit a9e4abaa6e72425017953f95e2f22cc4af6d7455 Author: Kamen Mazdrashki <kame...@samba.org> Date: Mon Apr 12 03:45:12 2010 +0300 s4/libnet: Allocate mem in supplied mem_ctx In this case, 'libnet_Vampire *r' may not be a pointer to a talloced memory. commit 82b8bbdfac3a9bf7daded97173d205764f14670a Author: Kamen Mazdrashki <kame...@samba.org> Date: Mon Apr 12 03:33:33 2010 +0300 s4/py_net: Source code formatting fix ----------------------------------------------------------------------- Summary of changes: source4/libnet/libnet_vampire.c | 4 ++-- source4/libnet/py_net.c | 33 +++++++++++++++++---------------- 2 files changed, 19 insertions(+), 18 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c index a276828..8d2393f 100644 --- a/source4/libnet/libnet_vampire.c +++ b/source4/libnet/libnet_vampire.c @@ -760,8 +760,8 @@ NTSTATUS libnet_Vampire(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, return status; } - r->out.domain_name = talloc_steal(r, join->out.domain_name); - r->out.domain_sid = dom_sid_dup(r, join->out.domain_sid); + r->out.domain_name = talloc_steal(mem_ctx, join->out.domain_name); + r->out.domain_sid = dom_sid_dup(mem_ctx, join->out.domain_sid); /* commit the transaction now we know the secrets were written * out properly diff --git a/source4/libnet/py_net.c b/source4/libnet/py_net.c index f2fc771..ec41ca3 100644 --- a/source4/libnet/py_net.c +++ b/source4/libnet/py_net.c @@ -271,40 +271,41 @@ static PyObject *py_net_vampire(py_net_Object *self, PyObject *args, PyObject *k const char *kwnames[] = { "domain", "target_dir", NULL }; NTSTATUS status; TALLOC_CTX *mem_ctx; - PyObject *ret; + PyObject *ret; struct libnet_Vampire r; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|s", discard_const_p(char *, kwnames), - &r.in.domain_name, &r.in.targetdir)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|s", discard_const_p(char *, kwnames), + &r.in.domain_name, &r.in.targetdir)) { return NULL; + } r.in.netbios_name = lp_netbios_name(self->libnet_ctx->lp_ctx); r.out.error_string = NULL; - mem_ctx = talloc_new(NULL); - if (mem_ctx == NULL) { - PyErr_NoMemory(); - return NULL; - } + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + PyErr_NoMemory(); + return NULL; + } status = libnet_Vampire(self->libnet_ctx, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { - PyErr_SetString(PyExc_RuntimeError, - r.out.error_string ? r.out.error_string : nt_errstr(status)); - talloc_free(mem_ctx); + PyErr_SetString(PyExc_RuntimeError, + r.out.error_string ? r.out.error_string : nt_errstr(status)); + talloc_free(mem_ctx); return NULL; } - ret = Py_BuildValue("(sO)", r.out.domain_name, py_dom_sid_FromSid(r.out.domain_sid)); + ret = Py_BuildValue("(sO)", r.out.domain_name, py_dom_sid_FromSid(r.out.domain_sid)); - talloc_free(mem_ctx); + talloc_free(mem_ctx); - return ret; + return ret; } static const char py_net_vampire_doc[] = "vampire(domain, target_dir=None)\n" -"Vampire a domain."; + "Vampire a domain."; static PyMethodDef net_obj_methods[] = { {"join", (PyCFunction)py_net_join, METH_VARARGS|METH_KEYWORDS, py_net_join_doc}, @@ -313,7 +314,7 @@ static PyMethodDef net_obj_methods[] = { {"time", (PyCFunction)py_net_time, METH_VARARGS|METH_KEYWORDS, py_net_time_doc}, {"create_user", (PyCFunction)py_net_user_create, METH_VARARGS|METH_KEYWORDS, py_net_create_user_doc}, {"delete_user", (PyCFunction)py_net_user_delete, METH_VARARGS|METH_KEYWORDS, py_net_delete_user_doc}, - {"vampire", (PyCFunction)py_net_vampire, METH_VARARGS|METH_KEYWORDS, py_net_vampire_doc}, + {"vampire", (PyCFunction)py_net_vampire, METH_VARARGS|METH_KEYWORDS, py_net_vampire_doc}, { NULL } }; -- Samba Shared Repository