From 1783fd66ab5c9575664e741cc84006ae305c8a82 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Fri, 8 Sep 2017 12:19:03 +0200 Subject: [PATCH] s3/smbd: sticky write time offset miscalculation causes broken timestamps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The offset calculation for the offset that got passed to fetch_write_time_send() in the enumeration loop was wrong as it passed the offset before smbd_dirptr_lanman2_entry() added required padding. This resulted in broken timestamps in the find response. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13024 Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Sep 12 02:45:46 CEST 2017 on sn-devel-144 (cherry picked from commit 7e0b2af4c0c429a3d347ace7b2f75cfeecea6d1f) --- source3/smbd/smb2_query_directory.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source3/smbd/smb2_query_directory.c b/source3/smbd/smb2_query_directory.c index 3e0abdf770a..430fdca90de 100644 --- a/source3/smbd/smb2_query_directory.c +++ b/source3/smbd/smb2_query_directory.c @@ -501,7 +501,6 @@ static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx, while (true) { bool got_exact_match = false; int space_remaining = in_output_buffer_length - off; - int cur_off = off; struct file_id file_id; bool stop = false; @@ -556,7 +555,7 @@ static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx, conn, file_id, info_level, - base_data + cur_off, + base_data + last_entry_off, &stop); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); -- 2.11.0