[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Thu Jun 30 00:54:02 UTC 2016


The branch, master has been updated
       via  4524f59 tsocket: Do not dereference a NULL pointer
       via  1d4b20d s4: ldb: Ignore case of "range" in sscanf as we've already checked for its presence.
      from  826f619 s3-winbind: Fix memory leak with each cached credential login

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


- Log -----------------------------------------------------------------
commit 4524f5986c3cc6430fcc2ddae6970a62b3f22ac8
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Jun 22 15:36:59 2016 +0200

    tsocket: Do not dereference a NULL pointer
    
    Make sure the lrbsda pointer is not allocated and we will
    not end up dereferencing a NULL pointer. In practice this
    can't happen, but this change links the pointer with the
    code that uses it.
    
    Found by Coverity.
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Thu Jun 30 02:53:02 CEST 2016 on sn-devel-144

commit 1d4b20d4f3829eb3778006397990cd9fee4966a5
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Jun 28 15:38:22 2016 -0700

    s4: ldb: Ignore case of "range" in sscanf as we've already checked for its presence.
    
    https://bugzilla.samba.org/show_bug.cgi?id=11838
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

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

Summary of changes:
 lib/tsocket/tsocket_bsd.c                       | 12 ++++++++----
 source4/dsdb/samdb/ldb_modules/ranged_results.c |  8 +++++---
 2 files changed, 13 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c
index 9608dde..708d17e 100644
--- a/lib/tsocket/tsocket_bsd.c
+++ b/lib/tsocket/tsocket_bsd.c
@@ -2327,10 +2327,14 @@ static struct tevent_req *tstream_bsd_connect_send(TALLOC_CTX *mem_ctx,
 		goto post;
 	}
 
-	ret = getsockname(state->fd, &lrbsda->u.sa, &lrbsda->sa_socklen);
-	if (ret == -1) {
-		tevent_req_error(req, errno);
-		goto post;
+	if (lrbsda != NULL) {
+		ret = getsockname(state->fd,
+				  &lrbsda->u.sa,
+				  &lrbsda->sa_socklen);
+		if (ret == -1) {
+			tevent_req_error(req, errno);
+			goto post;
+		}
 	}
 
 	tevent_req_done(req);
diff --git a/source4/dsdb/samdb/ldb_modules/ranged_results.c b/source4/dsdb/samdb/ldb_modules/ranged_results.c
index 60d7503..13bf3a2 100644
--- a/source4/dsdb/samdb/ldb_modules/ranged_results.c
+++ b/source4/dsdb/samdb/ldb_modules/ranged_results.c
@@ -201,6 +201,8 @@ static int rr_search(struct ldb_module *module, struct ldb_request *req)
 	/* Strip the range request from the attribute */
 	for (i = 0; req->op.search.attrs && req->op.search.attrs[i]; i++) {
 		char *p;
+		size_t range_len = strlen(";range=");
+
 		new_attrs = talloc_realloc(req, new_attrs, const char *, i+2);
 		new_attrs[i] = req->op.search.attrs[i];
 		new_attrs[i+1] = NULL;
@@ -208,12 +210,12 @@ static int rr_search(struct ldb_module *module, struct ldb_request *req)
 		if (!p) {
 			continue;
 		}
-		if (strncasecmp(p, ";range=", strlen(";range=")) != 0) {
+		if (strncasecmp(p, ";range=", range_len) != 0) {
 			continue;
 		}
 		end = (unsigned int)-1;
-		if (sscanf(p, ";range=%u-*", &start) != 1) {
-			if (sscanf(p, ";range=%u-%u", &start, &end) != 2) {
+		if (sscanf(p + range_len, "%u-*", &start) != 1) {
+			if (sscanf(p + range_len, "%u-%u", &start, &end) != 2) {
 				ldb_asprintf_errstring(ldb,
 					"range request error: "
 					"range request malformed");


-- 
Samba Shared Repository



More information about the samba-cvs mailing list