From 6602da1b903f67b9aba0037b011341f8bba9abdd Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Mon, 28 Nov 2016 12:44:54 +0300 Subject: [PATCH] tests: add more utime checks * tests/utime.c: Include and . (main): Add checks for invalid pointers. --- tests/utime.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/utime.c b/tests/utime.c index 91044705..ea5ecc40 100644 --- a/tests/utime.c +++ b/tests/utime.c @@ -32,6 +32,9 @@ #include #include #include +#include + +#include static void print_tm(const struct tm * const p) @@ -52,6 +55,21 @@ main(void) const struct utimbuf u = { .actime = t, .modtime = t }; const struct utimbuf const *tail_u = tail_memdup(&u, sizeof(u)); +#ifdef __NR_utime + static const char *const dummy_str = "dummy filename"; + char *const dummy_filename = + tail_memdup(dummy_str, sizeof(dummy_str) - 1); + + rc = syscall(__NR_utime, dummy_filename + sizeof(dummy_str), + tail_u + 1); + printf("utime(%p, %p) = %s\n", dummy_filename + sizeof(dummy_str), + tail_u + 1, sprintrc(rc)); + + rc = syscall(__NR_utime, dummy_filename, (struct tm *) tail_u + 1); + printf("utime(%p, %p) = %s\n", + dummy_filename, (struct tm *) tail_u + 1, sprintrc(rc)); +#endif /* __NR_utime */ + rc = utime("utime\nfilename", tail_u); const char *errstr = sprintrc(rc); printf("utime(\"utime\\nfilename\", {actime="); -- 2.50.1