[klibc] [klibc:master] Fix implementation of utimes
klibc-bot for Benjamin Gwin
bgwin at google.com
Sun Dec 26 15:03:08 PST 2021
Commit-ID: a13b588a915d3a4498bf342d85524eb7dde71594
Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=a13b588a915d3a4498bf342d85524eb7dde71594
Author: Benjamin Gwin <bgwin at google.com>
AuthorDate: Thu, 9 Dec 2021 16:42:36 -0800
Committer: Ben Hutchings <ben at decadent.org.uk>
CommitDate: Mon, 27 Dec 2021 00:00:46 +0100
[klibc] Fix implementation of utimes
This was not correctly initializing the timespec array before passing it
on to utimensat.
Tested: Built cpio and extracted an image with `cpio -im` to preserve
mtime. The calls to utime now pass through the correct timestamps.
Signed-off-by: Benjamin Gwin <bgwin at google.com>
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
usr/klibc/utimes.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/usr/klibc/utimes.c b/usr/klibc/utimes.c
index fd378a63..ce6d2f81 100644
--- a/usr/klibc/utimes.c
+++ b/usr/klibc/utimes.c
@@ -10,8 +10,10 @@ int utimes(const char *file, const struct timeval tvp[2])
struct timespec ts[2];
if (tvp) {
- ts->tv_sec = tvp->tv_sec;
- ts->tv_nsec = tvp->tv_usec * 1000;
+ ts[0].tv_sec = tvp[0].tv_sec;
+ ts[0].tv_nsec = tvp[0].tv_usec * 1000;
+ ts[1].tv_sec = tvp[1].tv_sec;
+ ts[1].tv_nsec = tvp[1].tv_usec * 1000;
}
return utimensat(AT_FDCWD, file, &ts[0], 0);
More information about the klibc
mailing list