diff options
Diffstat (limited to 'source3/locking/locking.c')
-rw-r--r-- | source3/locking/locking.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c index cc92152727..b9afd2392c 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -934,16 +934,17 @@ void set_delete_on_close_lck(files_struct *fsp, *dt = d->delete_tokens[ d->num_delete_tokens-1]; d->num_delete_tokens -= 1; - return; + } else { + /* Replace this token with the + given tok. */ + TALLOC_FREE(dt->delete_nt_token); + dt->delete_nt_token = dup_nt_token(dt, nt_tok); + SMB_ASSERT(dt->delete_nt_token != NULL); + TALLOC_FREE(dt->delete_token); + dt->delete_token = copy_unix_token(dt, tok); + SMB_ASSERT(dt->delete_token != NULL); } - /* Replace this token with the - given tok. */ - TALLOC_FREE(dt->delete_nt_token); - dt->delete_nt_token = dup_nt_token(dt, nt_tok); - SMB_ASSERT(dt->delete_nt_token != NULL); - TALLOC_FREE(dt->delete_token); - dt->delete_token = copy_unix_token(dt, tok); - SMB_ASSERT(dt->delete_token != NULL); + return; } } |