From abf323d03e3ed2b66e3d40b3add26feee2c351e4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 26 Nov 2023 16:17:07 +0100 Subject: [PATCH] smbd: Use srv_put_dos_date2_ts() in reply_printqueue() srv_put_dos_date2_ts() uses convert_timespec_to_time_t() on the passed timespec, which for ts_nsec==0 returns just tv_sec. Signed-off-by: Volker Lendecke Reviewed-by: Guenther Deschner --- source3/smbd/smb1_reply.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source3/smbd/smb1_reply.c b/source3/smbd/smb1_reply.c index 967eddfc562..ed5bbdd9639 100644 --- a/source3/smbd/smb1_reply.c +++ b/source3/smbd/smb1_reply.c @@ -6022,7 +6022,10 @@ void reply_printqueue(struct smb_request *req) for (i = first; i < num_to_get; i++) { char blob[28]; char *p = blob; - time_t qtime = spoolss_Time_to_time_t(&info[i].info2.submitted); + struct timespec qtime = { + .tv_sec = spoolss_Time_to_time_t( + &info[i].info2.submitted), + }; int qstatus; size_t len = 0; uint16_t qrapjobid = pjobid_to_rap(sharename, @@ -6034,7 +6037,7 @@ void reply_printqueue(struct smb_request *req) qstatus = 3; } - srv_put_dos_date2(p, 0, qtime); + srv_put_dos_date2_ts(p, 0, qtime); SCVAL(p, 4, qstatus); SSVAL(p, 5, qrapjobid); SIVAL(p, 7, info[i].info2.size); -- 2.34.1