]> granicus.if.org Git - strace/commitdiff
Fix UTIME_NOW/UTIME_OMIT decoding
authorElliott Hughes <enh@google.com>
Tue, 23 Dec 2014 18:42:40 +0000 (10:42 -0800)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 27 Dec 2014 00:39:20 +0000 (00:39 +0000)
The kernel doesn't actually care what tv_sec is set to --- it only checks
tv_nsec when looking for the special values.

time.c

diff --git a/time.c b/time.c
index 58d46280aa392dc18e7ea349f05a1256a77423f6..68efc803a898e177b9974dbfe824d52833856671 100644 (file)
--- a/time.c
+++ b/time.c
@@ -87,7 +87,7 @@ sprinttv(char *buf, struct tcb *tcp, long addr, enum bitness_t bitness, int spec
 
                rc = umove(tcp, addr, &tv);
                if (rc >= 0) {
-                       if (special && tv.tv_sec == 0) {
+                       if (special) {
                                if (tv.tv_usec == UTIME_NOW)
                                        return stpcpy(buf, "UTIME_NOW");
                                if (tv.tv_usec == UTIME_OMIT)
@@ -101,7 +101,7 @@ sprinttv(char *buf, struct tcb *tcp, long addr, enum bitness_t bitness, int spec
 
                rc = umove(tcp, addr, &tv);
                if (rc >= 0) {
-                       if (special && tv.tv_sec == 0) {
+                       if (special) {
                                if (tv.tv_usec == UTIME_NOW)
                                        return stpcpy(buf, "UTIME_NOW");
                                if (tv.tv_usec == UTIME_OMIT)