diff options
author | Ralph Boehme <slow@samba.org> | 2017-09-08 12:19:03 +0200 |
---|---|---|
committer | Ralph Boehme <slow@samba.org> | 2017-09-12 02:45:46 +0200 |
commit | 7e0b2af4c0c429a3d347ace7b2f75cfeecea6d1f (patch) | |
tree | 552bcb8fb5dc1ab7faaf19263855e77f57a0e3f4 | |
parent | 87f7d32a906799e83cb9b023978e689a630de017 (diff) | |
download | samba-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.c | 3 |
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); |