diff options
author | Ralph Boehme <slow@samba.org> | 2015-10-12 12:28:04 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2015-10-13 01:14:09 +0200 |
commit | 0ef9c67b56a0b493ed06f9a64ac2bc2233041aee (patch) | |
tree | 6cd7e44fe4bf0ab0f16fe78f100b808ce6216895 /source3/locking | |
parent | cd0c2a5eca43cea76491ae0d820414287c234c1a (diff) | |
download | samba-0ef9c67b56a0b493ed06f9a64ac2bc2233041aee.tar.gz |
s3:locking: initialize lease pointer in share_mode_traverse_fn()
Initialize lease pointer to point to the share_mode_data leases array
entry at index lease_idx.
This fixes a bug in smbstatus where the lease info is not printed.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=11549
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Oct 13 01:14:09 CEST 2015 on sn-devel-104
Diffstat (limited to 'source3/locking')
-rw-r--r-- | source3/locking/share_mode_lock.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c index 6273aecd84a..fe105e3900a 100644 --- a/source3/locking/share_mode_lock.c +++ b/source3/locking/share_mode_lock.c @@ -687,13 +687,17 @@ static int share_mode_traverse_fn(struct db_record *rec, void *_state) DEBUG(1, ("ndr_pull_share_mode_lock failed\n")); return 0; } + + for (i=0; i<d->num_share_modes; i++) { + struct share_mode_entry *entry = &d->share_modes[i]; + entry->stale = false; /* [skip] in idl */ + entry->lease = &d->leases[entry->lease_idx]; + } + if (DEBUGLEVEL > 10) { DEBUG(11, ("parse_share_modes:\n")); NDR_PRINT_DEBUG(share_mode_data, d); } - for (i=0; i<d->num_share_modes; i++) { - d->share_modes[i].stale = false; /* [skip] in idl */ - } ret = state->fn(fid, d, state->private_data); |