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 <v...@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 <v...@samba.org>
    
    Autobuild-User(v4-0-test): Karolin Seeger <ksee...@samba.org>
    Autobuild-Date(v4-0-test): Fri Jul 11 12:02:38 CEST 2014 on sn-devel-104

commit 4448c2efb4149b94ccf0a21a6dd7bd5482f7ff18
Author: Volker Lendecke <v...@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 <v...@samba.org>
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=10699

commit a4622adc5caeb80a91580d4c1193385cf2f33943
Author: Jeremy Allison <j...@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 <j...@samba.org>

commit 2d1dd83e9ec4333f6d68a471850079a8da8a90d5
Author: Volker Lendecke <v...@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 <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@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

Reply via email to