[SCM] Samba Shared Repository - branch v4-0-test updated

Karolin Seeger kseeger at samba.org
Fri Jul 11 04:03:03 MDT 2014


The branch, v4-0-test has been updated
       via  a064b7c torture3: Fix bug 10687
       via  4448c2e smbd: Avoid double-free in get_print_db_byname
       via  a4622ad s3: smbd: Locking, fix off-by one calculation in brl_pending_overlap().
       via  2d1dd83 smbstatus: Fix an uninitialized variable
      from  039297d s3:winbindd - fix bad bugfix for bug #10280 - winbind panic if AD server is down.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit a064b7c732f502a60e1db598238a82aef44817ee
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Jul 2 14:27:52 2014 +0000

    torture3: Fix bug 10687
    
    'RW2' smbtorture test fails when -N <numprocs> is set to 2 due to the invalid
    status check in the second client.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    
    Autobuild-User(v4-0-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-0-test): Fri Jul 11 12:02:38 CEST 2014 on sn-devel-104

commit 4448c2efb4149b94ccf0a21a6dd7bd5482f7ff18
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jul 8 14:30:54 2014 +0200

    smbd: Avoid double-free in get_print_db_byname
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=10699

commit a4622adc5caeb80a91580d4c1193385cf2f33943
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Jul 1 13:30:50 2014 -0700

    s3: smbd: Locking, fix off-by one calculation in brl_pending_overlap().
    
    Consider:
    
    lock = start=110,size=10
    pend_lock = 100, size=10
    
    Should not overlap. However,
    
    (lock->start <= pend_lock->start + pend_lock->size)
         110             100                10
    
    is true, so it returns true (overlap).
    
    lock->start <= pend_lock->start + pend_lock->size
    
    should be:
    
    lock->start < pend_lock->start + pend_lock->size
    
    https://bugzilla.samba.org/show_bug.cgi?id=10685
    
    Signed-off-by: Jeremy Allison <jra at samba.org>

commit 2d1dd83e9ec4333f6d68a471850079a8da8a90d5
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Jun 29 08:56:03 2014 +0000

    smbstatus: Fix an uninitialized variable
    
    We only print valid share mode entries, stale ones don't count. In
    traverse, let the callback decide about staleness.
    
    https://bugzilla.samba.org/show_bug.cgi?id=10680
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 9f2e90754bcb7bf5f7159d07f0bc5fe754e71bf5)

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

Summary of changes:
 source3/locking/brlock.c          |    2 +-
 source3/locking/share_mode_lock.c |    1 +
 source3/printing/printing_db.c    |    4 ++--
 source3/torture/torture.c         |    2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c
index 1a912c7..c73b7c2 100644
--- a/source3/locking/brlock.c
+++ b/source3/locking/brlock.c
@@ -229,7 +229,7 @@ static bool brl_pending_overlap(const struct lock_struct *lock, const struct loc
 {
 	if ((lock->start <= pend_lock->start) && (lock->start + lock->size > pend_lock->start))
 		return True;
-	if ((lock->start >= pend_lock->start) && (lock->start <= pend_lock->start + pend_lock->size))
+	if ((lock->start >= pend_lock->start) && (lock->start < pend_lock->start + pend_lock->size))
 		return True;
 	return False;
 }
diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c
index 6782f59..d9076db 100644
--- a/source3/locking/share_mode_lock.c
+++ b/source3/locking/share_mode_lock.c
@@ -487,6 +487,7 @@ static int traverse_fn(struct db_record *rec, void *_state)
 		return 0;
 	}
 	for (i=0; i<d->num_share_modes; i++) {
+		d->share_modes[i].stale = false; /* [skip] in idl */
 		state->fn(&d->share_modes[i],
 			  d->servicepath, d->base_name,
 			  state->private_data);
diff --git a/source3/printing/printing_db.c b/source3/printing/printing_db.c
index ecb8ff6..b721317 100644
--- a/source3/printing/printing_db.c
+++ b/source3/printing/printing_db.c
@@ -65,9 +65,9 @@ struct tdb_print_db *get_print_db_byname(const char *printername)
 			if (p->ref_count)
 				continue;
 			if (p->tdb) {
-				if (tdb_close(print_db_head->tdb)) {
+				if (tdb_close(p->tdb)) {
 					DEBUG(0,("get_print_db: Failed to close tdb for printer %s\n",
-								print_db_head->printer_name ));
+								p->printer_name ));
 					return NULL;
 				}
 			}
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index f8bef2d..460c860 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -711,7 +711,7 @@ static bool rw_torture3(struct cli_state *c, char *lockfname)
 		{
 			status = cli_openx(c, lockfname, O_RDONLY, 
 					 DENY_NONE, &fnum);
-			if (!NT_STATUS_IS_OK(status)) {
+			if (NT_STATUS_IS_OK(status)) {
 				break;
 			}
 			smb_msleep(10);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list