]> granicus.if.org Git - strace/blob - tests/umoven-illptr.c
Remove XLAT_END
[strace] / tests / umoven-illptr.c
1 /*
2  * Check decoding of invalid pointer by umoven.
3  *
4  * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@altlinux.org>
5  * Copyright (c) 2016-2019 The strace developers.
6  * All rights reserved.
7  *
8  * SPDX-License-Identifier: GPL-2.0-or-later
9  */
10
11 #include "tests.h"
12 #include <stdio.h>
13 #include <time.h>
14 #include <unistd.h>
15 #include "scno.h"
16
17 int
18 main(void)
19 {
20         if (F8ILL_KULONG_SUPPORTED) {
21                 struct timespec ts = { 0, 0 };
22                 const void *const p = tail_memdup(&ts, sizeof(ts));
23
24                 long rc = syscall(__NR_nanosleep, p, NULL);
25                 printf("nanosleep({tv_sec=0, tv_nsec=0}, NULL) = %s\n",
26                        sprintrc(rc));
27
28                 const kernel_ulong_t ill = f8ill_ptr_to_kulong(p);
29                 rc = syscall(__NR_nanosleep, ill, NULL);
30                 printf("nanosleep(%#llx, NULL) = %s\n",
31                        (unsigned long long) ill, sprintrc(rc));
32
33                 puts("+++ exited with 0 +++");
34                 return 0;
35         } else {
36                 return 77;
37         }
38 }