The branch, master has been updated
       via  b9cfe10 s4-drs: fixed a crash in writspn
      from  8e34df4 s4-test: we need to import testtools before subunit/python

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


- Log -----------------------------------------------------------------
commit b9cfe109453937f5c2ae5008bee4b12226d68914
Author: Andrew Tridgell <tri...@samba.org>
Date:   Sat Nov 13 19:08:45 2010 +1100

    s4-drs: fixed a crash in writspn
    
    sam_ctx_system may be NULL for non-privileged users
    
    Autobuild-User: Andrew Tridgell <tri...@samba.org>
    Autobuild-Date: Sat Nov 13 08:52:53 UTC 2010 on sn-devel-104

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

Summary of changes:
 source4/rpc_server/drsuapi/writespn.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/drsuapi/writespn.c 
b/source4/rpc_server/drsuapi/writespn.c
index 23b0626..320232d 100644
--- a/source4/rpc_server/drsuapi/writespn.c
+++ b/source4/rpc_server/drsuapi/writespn.c
@@ -160,6 +160,7 @@ WERROR dcesrv_drsuapi_DsWriteAccountSpn(struct 
dcesrv_call_state *dce_call, TALL
                        int ret;
                        unsigned spn_count=0;
                        bool passed_checks = true;
+                       struct ldb_context *sam_ctx;
 
                        req = &r->in.req->req1;
                        count = req->count;
@@ -215,9 +216,14 @@ WERROR dcesrv_drsuapi_DsWriteAccountSpn(struct 
dcesrv_call_state *dce_call, TALL
                                }
                        }
 
+                       if (passed_checks && b_state->sam_ctx_system) {
+                               sam_ctx = b_state->sam_ctx_system;
+                       } else {
+                               sam_ctx = b_state->sam_ctx;
+                       }
+
                        /* Apply to database */
-                       ret = 
dsdb_modify(passed_checks?b_state->sam_ctx_system:b_state->sam_ctx,
-                                         msg, DSDB_MODIFY_PERMISSIVE);
+                       ret = dsdb_modify(sam_ctx, msg, DSDB_MODIFY_PERMISSIVE);
                        if (ret != LDB_SUCCESS) {
                                DEBUG(0,("Failed to modify SPNs on %s: %s\n",
                                         ldb_dn_get_linearized(msg->dn),


-- 
Samba Shared Repository

Reply via email to