From: Ralph Boehme Date: Mon, 14 Jan 2019 12:51:23 +0000 (+0100) Subject: s3:smbd: perform impersonation in smb2_query_directory_fetch_write_time_done() X-Git-Tag: talloc-2.1.15~18 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=6619cec3dec8c8a2116d111aea7e5440875d0fa8 s3:smbd: perform impersonation in smb2_query_directory_fetch_write_time_done() This is not strictly required, as we ne never trigger additional VFS requests via this codepath. But for safety reasons ensure we're running in the correct impersonation state. Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Mon Jan 14 22:30:24 CET 2019 on sn-devel-144 --- diff --git a/source3/smbd/smb2_query_directory.c b/source3/smbd/smb2_query_directory.c index 2a426a0dfa3..13fb820ce6c 100644 --- a/source3/smbd/smb2_query_directory.c +++ b/source3/smbd/smb2_query_directory.c @@ -730,6 +730,13 @@ static void smb2_query_directory_fetch_write_time_done(struct tevent_req *subreq struct smbd_smb2_query_directory_state *state = tevent_req_data( req, struct smbd_smb2_query_directory_state); NTSTATUS status; + bool ok; + + /* + * Make sure we run as the user again + */ + ok = change_to_user_by_fsp(state->fsp); + SMB_ASSERT(ok); state->async_sharemode_count--;