]> granicus.if.org Git - strace/blobdiff - print_timeval.c
tests: check decoding of vcpu auxstr
[strace] / print_timeval.c
index 8e0708f4e03e3c826608a1748b21ac846a163ef6..3690ce76e63f95df2f5f89be3b48c54a4a7a0412 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,6 +34,8 @@ typedef struct timeval timeval_t;
 
 #include MPERS_DEFS
 
+#include "xstring.h"
+
 static const char timeval_fmt[]  = "{tv_sec=%lld, tv_usec=%llu}";
 
 static void
@@ -103,9 +106,9 @@ MPERS_PRINTER_DECL(const char *, sprint_timeval,
                strcpy(buf, "NULL");
        } else if (!verbose(tcp) || (exiting(tcp) && syserror(tcp)) ||
                   umove(tcp, addr, &t)) {
-               snprintf(buf, sizeof(buf), "%#" PRI_klx, addr);
+               xsprintf(buf, "%#" PRI_klx, addr);
        } else {
-               snprintf(buf, sizeof(buf), timeval_fmt,
+               xsprintf(buf, timeval_fmt,
                         (long long) t.tv_sec,
                         zero_extend_signed_to_ull(t.tv_usec));
        }
@@ -196,9 +199,9 @@ sprint_timeval32(struct tcb *const tcp, const kernel_ulong_t addr)
                strcpy(buf, "NULL");
        } else if (!verbose(tcp) || (exiting(tcp) && syserror(tcp)) ||
                   umove(tcp, addr, &t)) {
-               snprintf(buf, sizeof(buf), "%#" PRI_klx, addr);
+               xsprintf(buf, "%#" PRI_klx, addr);
        } else {
-               snprintf(buf, sizeof(buf), timeval_fmt,
+               xsprintf(buf, timeval_fmt,
                         (long long) t.tv_sec,
                         zero_extend_signed_to_ull(t.tv_usec));
        }