summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2017-09-08 12:19:03 +0200
committerRalph Boehme <slow@samba.org>2017-09-12 02:45:46 +0200
commit7e0b2af4c0c429a3d347ace7b2f75cfeecea6d1f (patch)
tree552bcb8fb5dc1ab7faaf19263855e77f57a0e3f4
parent87f7d32a906799e83cb9b023978e689a630de017 (diff)
downloadsamba-7e0b2af4c0c429a3d347ace7b2f75cfeecea6d1f.tar.gz
s3/smbd: sticky write time offset miscalculation causes broken timestamps
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 <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Tue Sep 12 02:45:46 CEST 2017 on sn-devel-144
-rw-r--r--source3/smbd/smb2_query_directory.c3
1 files changed, 1 insertions, 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);