From 6a097ab20ea54a7b090ad6e62c1538d5e5997f31 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 27 Jan 2006 19:54:39 +0000 Subject: 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) --- source3/smbd/oplock.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source3/smbd') 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; inum_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 -- cgit