diff options
author | Jeremy Allison <jra@samba.org> | 2006-01-27 19:54:39 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:06:16 -0500 |
commit | 6a097ab20ea54a7b090ad6e62c1538d5e5997f31 (patch) | |
tree | 92032a3036b7374968b431658d53e68b47da0e69 /source3/smbd | |
parent | 139acd247060841b44079f1703af0e71109ba74e (diff) | |
download | samba-6a097ab20ea54a7b090ad6e62c1538d5e5997f31.tar.gz samba-6a097ab20ea54a7b090ad6e62c1538d5e5997f31.tar.bz2 samba-6a097ab20ea54a7b090ad6e62c1538d5e5997f31.zip |
r13192: Fix up alignment issues when printing share mode
entries. Add paranioa to debug so we know when an
entry is unused.
Jeremy.
(This used to be commit fa5fab313e3728ff49c00ca1097242039506f83e)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/oplock.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index 6739d29470..234b62e8ae 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -684,6 +684,11 @@ void release_level_2_oplocks_on_change(files_struct *fsp) don't have to do anything */ for (i=0; i<lck->num_share_modes; i++) { struct share_mode_entry *e = &lck->share_modes[i]; + + if (!is_valid_share_mode_entry(e)) { + continue; + } + if ((e->op_type == NO_OPLOCK) && (e->share_file_id == fsp->file_id) && (e->dev == fsp->dev) && @@ -701,6 +706,10 @@ void release_level_2_oplocks_on_change(files_struct *fsp) struct share_mode_entry *share_entry = &lck->share_modes[i]; char msg[MSG_SMB_SHARE_MODE_ENTRY_SIZE]; + if (!is_valid_share_mode_entry(share_entry)) { + continue; + } + /* * As there could have been multiple writes waiting at the * lock_share_entry gate we may not be the first to |