The branch, v4-5-test has been updated
       via  d6568b8 s3: smbd: Fix open_files.idl to correctly ignore 
share_mode_lease *lease in share_mode_entry.
      from  886edba VERSION: Bump version up to 4.5.10...

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-5-test


- Log -----------------------------------------------------------------
commit d6568b85d7dae9ad8a3ee26c719c8ac687d72576
Author: Jeremy Allison <[email protected]>
Date:   Tue May 16 16:12:19 2017 -0700

    s3: smbd: Fix open_files.idl to correctly ignore share_mode_lease *lease in 
share_mode_entry.
    
    This is currently marked 'skip', which means it isn't stored in the
    db, but printed out in ndr dump. However, this pointer can be invalid
    if the lease_idx is set to 0xFFFFFFFF (invalid).
    
    This is fixed up inside parse_share_modes(), but not until after
    ndr_pull_share_mode_data() is called. If lease_idx == 0xFFFFFFFF
    then ndr_print_share_mode_lease() prints an invalid value and
    crashes.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=12793
    
    Signed-off-by: Jeremy Allison <[email protected]>
    Reviewed-by: Alexander Bokovoy <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Thu May 18 03:01:40 CEST 2017 on sn-devel-144
    
    (cherry picked from commit b691f6d32f79ef8427f567612243dd51ea8d5584)
    
    Autobuild-User(v4-5-test): Karolin Seeger <[email protected]>
    Autobuild-Date(v4-5-test): Fri May 19 13:41:59 CEST 2017 on sn-devel-144

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

Summary of changes:
 source3/librpc/idl/open_files.idl | 2 +-
 source3/locking/share_mode_lock.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/librpc/idl/open_files.idl 
b/source3/librpc/idl/open_files.idl
index 6f74340..1f85f24 100644
--- a/source3/librpc/idl/open_files.idl
+++ b/source3/librpc/idl/open_files.idl
@@ -62,7 +62,7 @@ interface open_files
                 * to store this share_mode_entry on disk.
                 */
                [skip] boolean8 stale;
-               [skip] share_mode_lease *lease;
+               [ignore] share_mode_lease *lease;
        } share_mode_entry;
 
        typedef [public] struct {
diff --git a/source3/locking/share_mode_lock.c 
b/source3/locking/share_mode_lock.c
index f738323..91c53ff 100644
--- a/source3/locking/share_mode_lock.c
+++ b/source3/locking/share_mode_lock.c
@@ -322,8 +322,8 @@ static struct share_mode_data *parse_share_modes(TALLOC_CTX 
*mem_ctx,
        }
 
        /*
-        * Initialize the values that are [skip] in the idl. The NDR code does
-        * not initialize them.
+        * Initialize the values that are [skip] or [ignore]
+        * in the idl. The NDR code does not initialize them.
         */
 
        for (i=0; i<d->num_share_modes; i++) {


-- 
Samba Shared Repository

Reply via email to